1:代码块是什么?代码块的分类和各自特点?
java中,用{}括起来的代码,就是代码块!
局部代码块:用来限定变量的生命周期,出现在main方法中
构造代码块:类中的成员位置,{代码块}用来给对象的数据进行初始化,每次执行构造方法之前,要执行构造代码块
静态代码块:类中的成员位置,也是用{代码块},在代码的前面,用static代码
作用:静态是和类有关系的,随着类的加载而加载,给类进行初始化
在类中:只加载一次!
2:静态代码块,构造代码块,构造方法的执行流程?
静态代码块---->构造代码块----->构造方法
构造代码块:每次在执行构造方法之前,要先走构造代码块
静态代码:在内存中只加载一次!
3:继承概述
将多个类的共性内容,抽取到一个独立的类中,独立的类和着多个类就产生一种关系:extends:表示继承
格式:
class Zi extends Fu{
}
4:继承的好处
继承的好处:
A:提高代码复用性
B:提高代码维护性
C:让类与类产生了一种关系,它是多态的前提!
让类与类产生的这种关系,也是一种弊端!
耦合性
java中开发原则:低耦合,高内聚
耦合性:指的是多个类产生的这种关系
内聚:指的是自己完成某件事情能力
5:Java中继承的特点
A: 在java中,只支持单继承,不支持多继承,
别的语言,可以支持多继承的:class Zi extends Father,Monther{..}
B:虽然java中不支持多继承,但是可以支持多层继承
6:Java中继承的注意事项?以及我们什么时候使用继承?
注意事项:父类所有非私有的成员(成员方法和成员变量)
其实这也体现了继承的另一个弊端:打破了封装性
子类不能继承父类的构造方法,但是可以通过super(后面讲)关键字去访问父类构造方法。
不要为了部分功能而去继承
什么时候使用:中类之间体现的是:”is a”的关系。
7:继承中的成员访问特点
A:成员变量
在子类方法中访问一个变量
B:成员方法
在测试类中通过子类对象去访问一个方法
8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?
若父类没有无参构造方法,则:
子类通过super去显示调用父类其他的带参的构造方法
子类通过this去调用本类的其他构造方法
本类其他构造也必须首先访问了父类构造
一定要注意:
super(…)或者this(….)必须出现在第一条语句山
否则,就会有父类数据的多次初始化