【学习笔记/自用】黑马程序员javase2023版-进阶

目录

1.  static关键字

2. 继承

2.1 继承介绍

2.1.1 继承的格式

2.1.2 继承的使用

2.1.3 继承的特点

2.2 继承中成员的访问特点

2.2.1 成员变量

2.2.2 成员方法

2.2.3 构造方法


1.  static关键字

static关键字:修饰符,修饰成员变量/成员方法。

1. 静态方法中,只能访问静态成员(直接访问)

2. 静态方法中,访问非静态成员需要提前创建一个对象

3. static中不允许使用this关键字(this关键字使用时需要提前new一个对象,而static出现的时候可能还没有对象,因为静态成员变量区比对象先进入堆内存)

static修饰的成员变量:

        1. 被其修饰的成员,被该类的所有对象所共享
        2. 多了一种调用方式,可以通过类名调用
        3. 随类的加载而加载,优先于对象存在(静态成员变量区比对象先进入堆内存)

static修饰的成员方法:

1.成员方法什么时候加入static
.                                -常用于制作工具类
2.工具类:不是描述事物的,而是都我们完成一些事情(打工)
3.如果发现一个类中,所有的方法,全都是static 所修饰
.                                -私有该类的构造方法
                                 -目的:为了不让其他类,再创建对象

例子:Syetem工具类,构造方法私有,成员方法都加了static关键字

内存空间:

【学习笔记/自用】黑马程序员javase2023版-进阶_第1张图片

2. 继承

2.1 继承介绍

继承:让类与类之间产生关系(子父类关系) .子类可以直接使用父类中非私有的成员

2.1.1 继承的格式

        ●格式: public class 子类名 extends 父类名{ }
        ●范例: public class Zi extends Fu { }
        ●Fu:    是父类,也被称为基类/超类
        ●Zi:     是子类,也被称为派生类

2.1.2 继承的使用

当类与类之间,存在相同(共性)的内容,并且产生了is a的关系,考虑使用继承。

2.1.3 继承的特点

java只支持单继承,不支持多继承,但支持多层继承

2.2 继承中成员的访问特点

2.2.1 成员变量

子父类成员变量重名时,根据就近原则会打印子类成员变量,因此可以利用super调用父类成员。

this   :调用本类成员变量

super:调用父类成员变量

【学习笔记/自用】黑马程序员javase2023版-进阶_第2张图片

2.2.2 成员方法

(1) 方法重写(Override)

子父类中,出现了方法声明一模一样的方法(方法名, 参数,返回值)。在创建子类对象调用方法的时候,会优先使用子类的方法逻辑,这虽然是就近原则的现象,但其实是子类的方法对父类的方法进行了重写操作。

方法重载(Overload) :在同一个类中,方法名相同,参数不同(类型不同,个数不同,顺序不同),与返回值无关 


方法重写(Override) :在子父类当中,出现了方法声明一模一样的方法 (方法名,参数,返回值)
                                目标1:能够独立识别出,方法是不是重写的方法
                                           -注解: @Override
                                目标2:方法重写的使用场景:当子类需要父类的方法,但是觉得父类的方                                             法逻辑不好(修改 | 增强)就可以对父类的方法进行重写

(2) 注意事项

【学习笔记/自用】黑马程序员javase2023版-进阶_第3张图片

2.2.3 构造方法

(1) 构造方法无法继承

(2) 子类在初始化之前,需要先完成父类的初始化,因此除了Object类,在所有构造方法的第一行代码都默认了一句super();通过这句话访问父类的参数构造方法。

细节:java中所有的类,都直接或间接的继承了Object类

(3) 内存图解:

【学习笔记/自用】黑马程序员javase2023版-进阶_第4张图片

 【学习笔记/自用】黑马程序员javase2023版-进阶_第5张图片

你可能感兴趣的:(javase,java,开发语言)