目录
1. 继承
Java语言是单继承还是多继承?
单继承 错!
多继承 错!
1.类与类之间是单继承,但是可以多层继承,A继承B,B继承C,C继承D 这中多层继承使得A是功能最强大的。
2.接口与接口之间是多继承关系

ArrayList继承体系结构

1.1继承的概念和好处

1.2 继承体系当中,成员变量的访问规则
成员方法的访问规则也是一样的!

1.3继承中构造方法的访问特点
子类中所有的构造方法默认都会访问父类中的无参构造方法,为什么呢?
因为子类会继承父类中的数据,可能还会使用父类中的数据。所以,子类初始化之前,一定要先完成父类的初始化。
每一个子类的构造方法的第一条语句默认都是super()
super():这也就可以看作是调用父类的无参构造来初始化父类
注意:super写在哪个类就代表是哪个类的父类

1.4父类初始化的过程
在子类执行无参构造初始化子类的时候,会默认先执行父类的无参构造,先初始化父类

1.5父类如果没有无参构造方法子类怎么办

1.6继承中涉及的方法重写

2.权限修饰符
注意:== 如果如果一个类的构造方法被private修饰,那么这个类不能创建对象,只能是用类名. 的方式来调用类中的静态变量或者是静态方法==

3.状态修饰符
3.1 final 关键字的作用(最终状态修饰符)

3.2 final的使用场景

3.3 final修饰局部变量:修饰 基本数据类型,引用数据类型的区别

3.4 static (静态修饰符)
被static修饰的变量已经不再属于某一个对象,而是在.java文件被编译成.class文件的时候,被static修饰的变量就已经加载进方法区了,也就是在你需要创建对象之前就已经在方法区加载好了,所以你创建对象时,是在堆内存中开辟空间,并且给未被static修饰的成员变量初始化,但是被static修饰的变量是不会在对象里面的,静态变量会在.class文件(.class文件都在方法区中)的静态区,而对象是在.calss文件的非静态区,虽然用对象名可以调用到被static 修饰的变量,但是不建议这样调用静态变量。因为静态变量可以直接使用 类名.变量名 调用!




在工具类中经常使用static 和 final 关键字,还会使用private修饰工具类的无参构造方法,这样就只能通过类名. 的方式来调用静态方法和静态变量了,而不能在本类之外创建对象来调用静态变量或者静态方法了!在本类中只要有主方法,还是可以创建对象的,但是一般都是不会在工具类中创建本类的对象的。


本文详细介绍了Java中的继承概念,包括单继承与多层继承,接口的多继承特性,以及ArrayList继承体系结构。讨论了继承中的成员变量访问规则、构造方法的访问特点和父类初始化过程。同时,讲解了当父类没有无参构造方法时子类如何处理,以及方法重写的相关内容。此外,还探讨了权限修饰符如private在构造方法中的作用,以及final和static关键字的应用场景和作用。

656

被折叠的 条评论
为什么被折叠?



