Java学习总结05

(一)代码块:在Java语言,用{}括起来的内容,简称为代码块

1 代码块的分类:

1.1 局部代码块:书写的位置,是在方法中定义的{代码...}

作用:限定变量的生命周期的

1.2 构造代码块:在类的成员位置,每次在执行构造方法之前,如果当前类中有构造代码块,优先执行构造代码块,再执行构造方法

作用:如果多个类的构造方法中有共有的内容,可以将抽取到构造代码块中

1.3 静态代码块:在类的成员位置,在{} 外面被static,静态代码块

作用:优先于对象存在,静态代码块只执行一次,优先执行

2 静态代码块、构造代码块、构造方法之间的优先级:静态代码块>构造代码块>构造方法

代码:

运行结果:

(二)继承

代码:

运行结果:

1 格式:class 子类名(派生类) extends 父类名(超类){}

2 继承的好处:

a 提高代码的复用性

b 后期利于维护

c 继承关系是多态的前提

3 继承的特点:只支持单继承,不支持多继承,但是可以支持多层继承

4 注意事项:

a 子类继承父类,只能继承父类的非私有的成员变量和成员方法

b 子类不能继承父类的构造方法,只能通过super()间接的去访问父类的构造方法

c 不要了部分功能去使用继承(当A类是B类的一种,能体现出是一种”is a”的关系,则使用继承)

5 super关键字:可以间接父类的构造方法

6 this关键字和super关键字的应用场景:

6.1 成员变量

this.成员变量

super.成员变量

6.2 构造方法

无参:this();super() ;

有参:this("..");super("..");

7 如果父类的无参构造方法没有给出,子类的构造方法会报错?如何解决?

会报错,解决方法:

a 手动给出父类的无参构造

b 间接的通过super(…)访问父类的有参构造

c 通过this():访问本类中的无参构造方法,再通过本类无参构造方法里面第一个语句super(…)访问父类的有参构造

8 关于继承中成员变量的访问特点?

8.1 子类继承父类,如果他们的成员变量名称不一致:分别输出;

8.2 如果成员变量名称一致:

a 首先,在子类的局部位置中找,有就输出;

b 没有,在子类的成员位置找,有就输出;

c 还没有,直接在父类的成员位置中,有就输出;

d 如果没有,就会报错

(三)制作API

代码:

DOS命令:

结果:

猜你喜欢

转载自blog.csdn.net/jcx_1020/article/details/81135345