总结 接口 final关键字 abstract关键字 static 关键字


final关键字:

* final 修饰的方法能被继承 不能被重写
* final修饰的类不能被继承
* final 修饰的变量(基本类型)不能被修改
* final 修饰的成员变量必须初始化 局部变量一旦要使用都要初始化
* final 如果修饰的是引用,那么这个引用只能指向一个对象,也就是说这个引用不能被再次赋值
* 但是被指向的对象的属性是可以修改的
* final 一般用来定义常量

abstract 关键字:

* abstract 抽象类 抽象方法 修饰类 方法
* 抽象方法只需在抽象类中提供方法声明 不需要实现
* 如果一个类中有抽象方法 那么这个类必须是抽象类
* 如果该抽象类被继承 那么子类必须重写父类里的抽象方法 必须实现
* 若是不重写,则必须把子类也定义为抽象类
* 抽象类不能实例化 若想实例化则必须在实例化内部重写父类的抽象方法
* 抽象类抽象方法不能被final修饰

static:

* 静态变量方法可以通过类名直接调用
* 静态变量方法也可以通过类的实例调用
* 静态变量方法被当前类的所有实例共享
* 静态变量方法跟随类加载 非静态跟随对象加载 类先加载 所以静态的属性方法先加载
* 所以非静态方法可以调用静态属性
* 静态属性可以在静态方法中直接调用

new实例时  执行顺序:父类的静态方法--->子类的静态方法--->父类的非静态方法--->父类的构造器--->子类的非静态方法--->子类的构造器

原文地址:https://www.cnblogs.com/jamers-rz/p/13610113.html