Java面向对象第三天:

精华笔记:

  1. 引用类型数组:

    • 给引用类型数组的元素赋值,需要new一下

    • 若想访问对象的属性或调用方法,需要通过数组元素去打点

  2. 继承:

    • 作用:代码复用

    • 通过extends来实现继承

    • 超类/父类:共有的属性和行为

      派生类/子类:特有的属性和行为

    • 派生类既可以访问派生类的,也能访问超类的,但超类不能访问派生类的

    • 一个超类可以有多个派生类,一个派生类只能继承一个超类-------单一继承

    • 具有传递性

    • java规定:构造派生类之前必须先构造超类

      • 在派生类的构造方法中,若没有调用超类构造方法,则默认super()调用超类无参构造方法

      • 在派生类的构造方法中,若自己调用了超类构造方法,则不再默认提供

        注意:super()调用超类构造方法,必须位于派生类构造方法的第一行

  3. super:指代当前对象的超类对象

    super的用法:

    • super.成员变量名-----------------------------访问超类的成员变量

    • super.方法名()----------------------------------调用超类的方法

    • super()--------------------------------------------调用超类的构造方法

笔记:

  1. 引用类型数组:

    • 给引用类型数组的元素赋值,需要new一下

    • 若想访问对象的属性或调用方法,需要通过数组元素去打点

    //注意:对于引用数组而言,必须给所有元素都赋值,否则访问时会发生空指针异常
    Student[] stus = new Student[3]; //创建Student数组对象
    stus[0] = new Student("zhangsan",25,"LF"); //创建Student对象
    stus[1] = new Student("lisi",24,"JMS");
    stus[2] = new Student("wangwu",26,"SD");
    System.out.println(stus[0].name); //输出第1个学生的名字
    stus[1].age = 28; //修改第2个学生的年龄为28
    stus[2].sayHi(); //第3个学生跟大家问好
    ​
    for(int i=0;i<stus.length;i++){ //遍历学生数组System.out.println(stus[i].name); //输出每个学生的名字stus[i].sayHi(); //每个学生跟大家问好
    }
  2. 继承:

    • 作用:代码复用

    • 通过extends来实现继承

    • 超类/父类:共有的属性和行为

      派生类/子类:特有的属性和行为

    • 派生类既可以访问派生类的,也能访问超类的,但超类不能访问派生类的

    • 一个超类可以有多个派生类,一个派生类只能继承一个超类-------单一继承

    • 具有传递性

    • java规定:构造派生类之前必须先构造超类

      • 在派生类的构造方法中,若没有调用超类构造方法,则默认super()调用超类无参构造方法

        public class SuperDemo {public static void main(String[] args) {Boo o = new Boo();}
        }
        class Aoo{Aoo(){System.out.println("超类构造方法");}
        }
        class Boo extends Aoo{Boo(){super(); //默认的,调用超类的无参构造方法System.out.println("派生类构造方法");}
        }
      • 在派生类的构造方法中,若自己调用了超类构造方法,则不再默认提供

        注意:super()调用超类构造方法,必须位于派生类构造方法的第一行

        class Coo{Coo(int a){}
        }
        class Doo extends Coo{Doo(){super(5); //自己调用超类构造了,则不会再默认super()}/*//如下代码为默认的Doo(){super();}*/
        }
  3. super:指代当前对象的超类对象

    super的用法:

    • super.成员变量名-----------------------------访问超类的成员变量

    • super.方法名()----------------------------------调用超类的方法

    • super()--------------------------------------------调用超类的构造方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java Spring】SpringBoot 五大类注解

文章目录 Spring Boot 注解简介1、五大类注解的作用2、五大类注解的关系3、通过注解获取对象4、获取Bean对象名规则解析 Spring Boot 注解简介 Spring Boot的核心就是注解。Spring Boot通过各种组合注解&#xff0c;极大地简化了Spring项目的搭建和开发。五大类注解是Spring B…

老师怎样处理校园欺凌

校园欺凌是一个让人痛心又不可忽视的问题。作为老师&#xff0c;该如何处理这种问题&#xff0c;既能够保护受欺凌的学生&#xff0c;又能够让施暴者得到应有的教训呢&#xff1f; 及时发现并介入 经常关注学生的动态&#xff0c;一旦发现有校园欺凌的苗头&#xff0c;就要及时…

pytorch读取tiny-imagenet-200的验证集(val)

ori_train torchvision.datasets.ImageFolder(root args.datadir /tiny-imagenet-200/train/, transformtransform)#可以获取class_idx的映射class_idx ori_train.class_to_idx val_annotations.txt中存储着每个图片对应的类别 获取验证集的标签 test_target []#读取val_…

python项目报错

解决办法&#xff1a;不要用配置的镜像脚本&#xff0c;直接用此命令 pip install pandas -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

Java第二十章多线程

线程简介 在 Java 中&#xff0c;并发机制非常重要。在以往的程序设计中&#xff0c;我们都是一个任务完成后再进行下一个任务&#xff0c;这样下一个任务的开始必须等待前一个任务的结束。Java 语言提供了并发机制&#xff0c;程序员可以在程序中执行多个线程&#xff0c;每一…

SimpleDateFormat在多线程下的安全问题

目录 情景重现 SimpleDateFormat解析 解决方案 局部变量 加锁 使用线程变量 使用DateTimeFormatter 情景重现 SimpleDateFormat类是Java开发中的一个日期时间的转化类。它可以满足绝大多数的开发场景&#xff0c;但是在高并发下会出现并发问题。接下来查看下文中的案例。…

Python中的datetime库

1. datetime datetime是Python中用于处理日期和时间的类&#xff0c;它包含在datetime模块中。使用datetime类&#xff0c;我们可以创建表示特定日期和时间的对象&#xff0c;以及进行日期和时间的计算和操作。 from datetime import datetime, timedelta# 获取当前日期和时间…

为什么请求会发送两次-预检请求(OPTIONS)

当我们在发送跨域的POST请求时&#xff0c;浏览器会先发送一次OPTIONS请求&#xff0c;这是由于浏览器的同源策略所导致的。这个预检请求&#xff08;pre-flight request&#xff09;是CORS&#xff08;跨源资源共享&#xff09;机制的一部分。 预检请求的目的在于确保实际请求…

VSCode:修改左侧窗口字体大小

参考文章 https://blog.csdn.net/zhizhengguan/article/details/121361372

爬虫如何确定HTTP代理IP是否符合自己业务需求?

HTTP代理在许多业务场景中发挥着关键作用&#xff0c;但要确保其能够满足业务需求&#xff0c;需要考虑多个方面的因素。今天我们一起看看&#xff0c;要如何判断HTTP代理是否适合自己的业务&#xff0c;以及在选择HTTP代理时需要考虑的综合因素。 1. 稳定性 稳定性是HTTP代理…

使用Moment.js中获取上周的开始日期和结束日期(可自定义)

前言 有时候需求是这样的&#xff0c;想要获取上周的开始日期和结束日期&#xff0c;或者前几周的时间范围 比如今天是2023.11.28号&#xff0c;我想获取上周的周一到周日&#xff0c;也就是&#xff0c;上周的开始日期: 2023-11-20&#xff0c;上周的结束日期: 2023-11-26 1.…

爬虫系统Docker和Kubernetes部署运维最佳实践

在构建和管理爬虫系统时&#xff0c;使用Docker和Kubernetes可以带来诸多好处&#xff0c;如方便的部署、弹性伸缩和高可靠性。然而&#xff0c;正确的部署和运维实践对于确保系统稳定运行至关重要。在本文中&#xff0c;我将分享爬虫系统在Docker和Kubernetes上的最佳部署和运…

SSM卫生信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 卫生信息管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…

java设计模式学习之【单例模式】

文章目录 引言单例模式简介定义与用途实现方式&#xff1a;饿汉式懒汉式 UML 使用场景优势与劣势单例模式在spring中的应用饿汉式实现懒汉式实现数据库连接示例代码地址 引言 单例模式是一种常用的设计模式&#xff0c;用于确保在一个程序中一个类只有一个实例&#xff0c;并且…

centos7搭建 PXE 服务安装 window10/11 系统

最近想搭建之前基于 window server 的 window 批量安装&#xff0c;但想想装 window server 真的太麻烦了&#xff0c;我只是为了 PXE 安装系统而已&#xff0c;这些装一个极度消耗资源的系统真是相当麻烦呀&#xff0c;之前装的 server 不维护的话&#xff0c;不是被挖矿盯上就…

9 动态规划解单次词拆分

描述&#xff1a;给定一个非空字符串和一个包含非空单次的列表wordDict&#xff0c;判定s是否可以被空格拆分成一个或多个在字典中出现的单词。 说明&#xff1a; 1 拆分式可以重复使用字典中的单词。 2 你可以假设字典中没有重复的单词。 示例1&#xff1a;…

批量采集淘宝商品数据,有哪些方式可以实现?

引言 在当今的数字化时代&#xff0c;数据已经成为企业竞争的核心资源。对于电商行业来说&#xff0c;对商品数据的采集和分析更是关键。淘宝作为中国最大的电商平台之一&#xff0c;其丰富的商品数据和用户行为数据具有极高的价值。那么&#xff0c;如何批量采集淘宝商品数据…

The module to import is incompatible with the current project【鸿蒙开发-BUG已解决】

文章目录 项目场景:问题描述原因分析:解决方案:心得体会:知识点OpenHarmony:HarmonyOS:项目场景: 报错: The module to import is incompatible with the current project 问题描述 希望通过 import module 将该模块引入到我的项目。 导入后出现错误,因为项目和模块…

基于51单片机冰箱温度控制器设计

**单片机设计介绍&#xff0c; 基于51单片机冰箱温度控制器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机冰箱温度控制器设计是一个非常实用的项目。以下是一个基本的介绍&#xff1a; 系统概述&#xff1a; …

Ubuntu20.04用D435i运行VINS-Fusion时出现“追踪与中断点陷阱”的问题该怎么解决

在使用D435i运行VINS-Fusion时出现了以下画面: 该错误显示&#xff1a;追踪与中断点陷阱。在网上查了一堆&#xff0c;说是core file的错误&#xff0c;但修改后也没有解决。实际上&#xff0c;真正的原因是&#xff1a;文件的路径错了。 打开VINS-Fusion的文件所在的空间&…