代码块:在java中,使用{}括起来的代码被称为代码块
局部代码块:局部位置,再方法中出现;限定变量生命周期,及早释放提高内存利用率
构造代码块:在类中的成员位置用{}括起来的代码。每次调用构造方法执行前,都会线执行构造代码块
作用:可以把多个构造方法中的共同代码放在一起
静态代码块:在类中的成员位置用{}括起来的代码。只不过它用static修饰
作用:一般事对类进行初始化
静态代码块,构造代码块,构造方法的执行顺序?
静态代码块–构造代码块—构造方法
静态代码块:只执行一次
构造代码块:每次调用构造方法都执行
继承概述:把多个类中相同的内容给提取出来定义道一个类中。
class 子类名 extends 父类名{ }
好处:a提高代码复用性b提高代码的维护性c让类与类产生关系,是多态的前提
类与类产生了关系,其实也是继承的一个弊端?
类的耦合性增强了
开发原创:低耦合,高内聚。
耦合:类与类的关系
内聚:就是自己完成某件事情的能力
Java中继承的特点:
A:Java只支持单继承,不支持多继承、有些语言是支持多继承的
B:java支持多层继承(继承体系)
继承的注意事项:
A:子类只能继承父类所有非私有的成员(成员方法和成员变量)
B:子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法
C:不要为了部分功能而去继承
那么我们什么时候考虑使用继承呢?
继承其实体现的是一种”is a“。
采用假设法:
如果有两个类A,B只有他们符号A是B的一种,或者B是A的一种,就可以考虑使用继承
继承中成员变量的关系:
A:子类中的成员变量和父类的成员变量名称不一样
B:子类中的成员变量和父类的成员变量名称一样(就近原则)
在子类方法中访问一个变量的查找顺序:
a:在子类方法中的局部范围找,有就用
b:在子类的成员范围找,有就用
c:在父类的成员范围找,有就用
成员范围看不见成员方法的内部变量