Private
通过private可以实现封装
(1)private修饰变量
- 使得变量不可被继承
- 被修饰的变量只允许在本类中访问
(2)private修饰方法
- 使得方法不可被继承
- 但是可以被本类中的其他方法访问
Final
(1)final修饰变量
- 被修饰的变量名大写(一种习惯)
- 一旦赋值不可更改(只能被赋值一次)
(2)final 修饰方法
- 不可被子类重写,但是可以被子类继承
- 不能用final修饰构造方法
Final方法比其他方法要快,在编译的时候已经静态绑定了,不需要再运行的时候进行动态绑定。
(3)final类
- final参数:可读但是不可被修改
- final类不可被继承
Static
(1)static变量
- 直接使用类名.变量名进行调用
- 类加载完毕之后初始化完成
- 实例化很多歌类也只分配一次内存
(2)static方法
- 不可被子类重写
- 直接以类名.方法名进行调用
- 不依赖于任何实例对象
不能访问非静态成员变量和非静态成员方法(必须要在实例化之后进行访问,比如有一个people类,里面有一个静态方法,在写静态方法的实现方式的时候,如果要访问同样people类里面的其他方法,那么需要先进行实例化)
(3)static代码块
- 可以置于类中的任何地方
- 一个类中可以有多个static块
- 类被初次加载的时候,会按照static块的顺序来执行每个static块,且只执行一次
final方法和private方法的联系
父类的private方法是不能够被子类方法覆盖的,因此父类的private方法默认是final类型的