代码块
局部代码块
位置:在类中方法内
作用:限制变量的生命周期,提早释放内存
构造代码块
位置:类中方法外
作用:比构造方法优先执行。
静态代码块
位置:类中方法外
作用:主要是就是给类进行初始化,一般就来加载一些驱动,比主方法还优先执行。
同步代码块
在线程的时候讲解
继承
继承的关键字:extends
继承的格式:在类名后边(右边) extends 要继承的类名
能继承什么东西:能继承类中的属性和方法
好处:1、提高了代码的复用性
2、提高了代码的维护性
让类与类之间产生关系,多态的前提(必须要有子父的关系)
弊端:产生耦合
编程的原则:高内聚,低耦合
java当中不支持多继承,但是支持多层继承
如果要看一个类中的共性的功能,要看最顶层的类。
如果要创建对象的话,要用最底层的类。
继承的注意事项
1、子类不能继承父类中的私有的方法和私有的属性
2、不能继承父类中的构造方法
3、不要为了部分功能而去继承
如果在父类中有一个跟子类同名的成员变量,我们首先用子类的。java的就近原则
this和super的区别
this : 1、代表本类对象,也通过this调用父类中的成员变量。
2、区分成员变量和局部变量重名的问题
3、谁来调用我,我就代表谁
super :用来调用父类的。成员变量,成员方法。父类的构造方法。
继承中构造方法访问问题
Object类:java中所有类的父类,所有类都直接或间接的继承自该类
1、父类中的私有方法,子类不能重写。
2、访问权限不能更低,子类的访问权限要大于等于父类的。最好是一致
3、父类静态方法,子类只能用静态去“重写”
Override和Overload的区别
Override(重写):子父类出现了一模一样的方法
Overload(重载):本类中有重名的方法,就进行重载,只看参数列表,与返回值类型无关
final
类:不能被继承
变量:变量就变为常量,只能被赋值一次(初始化的时候)
方法:方法就不能重写
finalize
finally
final修饰局部变量
基本数据类型:值是不能被改变的
引用数据类型:地址值是不能改变的,可以通过set方法去改变
final修饰变量初始化的时机
1、显示初始化
2、在对象构造完毕之前
|
|