1.都可以修饰类,成员变量,方法。
2.static可以修饰代码块(表示静态代码块,当JVM加载类时只会被创建一次),final不能。
3.static不能修饰局部变量,final能。
4.static表示静态或全局。
5.static修饰的变量可以重新赋值。
6.static方法中不能使用this,super关键字( this代表对本类对象的引用,指向本类已创建的对象。 super代表对父类对象的引用,指向父类对象。 静态优先于对象存在,方法被static修饰之后,方法先存在,所需的父类引用对象晚于该方法的出现,也就是super所指向的对象还没出现。综上所述不能使用this,super关键字。)
7.static必须被实现,所以不能是抽象的abstract。
8.final修饰表示常量,所以不能被修改。
9.final方法不能被子类重写,所以final不能修饰抽象方法(abstract)。
10.final不能修饰构造方法(使方法成为最终方法的目的是防止从外部(子类)修改方法。在继承中,只要您扩展类,子类继承除构造函数之外的所有超类成员。换句话说,构造函数不能在Java中继承,因此您不能覆盖构造函数。因此,在构造函数之前编写final毫无意义。所以,java不允许在构造函数之前使用final关键字)。
11.private类型的方法默认是final类型的。
版权声明:本文为u011942456原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。