1、权限修饰符适用范围
总结:在同一类中都可以使用;在同一包下不同类中 private 不能用;在不同包下 default不能用;在不同包的非继承关系类中 protected 不能用
2、方法重写
方法名/方法参数完全一致
修饰符:
子类访问权限不能小于父类的访问权限
返回值类型:
void / 基本数据类型: 必须一致
引用数据类型:
子类的返回值类型要小于等于父类的返回值类型
3、static 关键词
静态的,可以修饰:成员方法/成员变量/代码块/内部类
属于类的,调用时尽量用类名 . 静态变量 / 静态方法,只加载一次
静态成员方法:
1.在静态方法中不能调用非静态的成员变量和非静态的成员方法
2.在非静态的成员方法中可以调用静态方法和静态变量
静态代码块:
在类加载时执行
a.实例化对象
b.使用静态方法
c.使用静态变量
运行顺序:
静态代码块 + 代码块 + 构造方法
父类静态代码块 -> 子类静态代码块 -> 父类代码块 -> 父类构造方法 -> 子类代码块 -> 子类构造方法
4、final 关键词
final可以修饰: 类/成员变量/局部变量/成员方法
1).修饰变量: 不可修改,不可变 -> 常量
基本数据类型:
不可再次修改
引用数据类型:
不能重新赋值,因为会改变内存中的地址值,但是可以修改引用对象的内容
2).修饰成员方法: 不可被重写(区分不是重载)
3).修饰类:不可被继承