static :
1.修饰变量,静态变量随着类加载时就完成了初始化,内存中只有一个,所有的类都能共享到。
2.修饰方法,必须实现,不能用abstract修饰,也是在类加载时就完成了初始化,不需要类的实例就可以直接调用。
3.修饰代码块,类加载完成后就会执行代码块的代码。
final
1.修饰变量,编译期常量,类加载时就完成了初始化,只能是基本数据类型;
运行时常量,可以是基本类型或者引用类型,引用类型的引用不能变,但引用对象的内容可以变。
2.修饰方法,不能被继承,不能被子类修改。
3.修饰类,不能被继承。
4.修饰形参,不可变。