final 与 static 的区别

均可以修饰类、方法、成员变量面试

static能够修饰类的代码块,final不能够函数

static不能够修饰方法内局部变量,final能够this

 

static修饰表示静态或全局.net

static修饰的代码块表示静态代码块,当JVM加载类时,只会被建立一次code

static修饰的变量能够从新赋值对象

static方法中不能用this和super关键字blog

由于this表明的是调用这个函数的对象的引用,而静态方法是属于类的,不属于对象,静态方法成功加载后,
对象还不必定存在。

this表明对本类对象的引用,指向本类已建立的对象。

super表明对父类对象的引用,指向父类对象。

静态优先于对象存在,方法被static修饰以后,方法先存在,所需的父类引用对象晚于该方法的出
现,也就是super所指向的对象还没出现,固然就会报错。

static方法必须被实现,而不能是抽象的abstract继承

static方法只能被static方法覆盖get

 

final修饰表示常量、一旦建立不可被修改变量

final标记的成员变量必须在声明的同时赋值,或在该类的构造方法中赋值,不可从新赋值

final方法不能被子类重写

final类不能被继承,没有子类,final类中的方法默认是final的

final不能用于修饰构造方法

private类型的方法默认是final类型的

 

天天一道面试题,持续更新@目录

相关文章
相关标签/搜索