Java中的static、final、static final的区别

一、final

1 - 修饰成员变量:表示常量,一但赋值不可修改。

对于基本类型的数据,final会将值变为一个常数。

对于对象句柄(可称为指针或者引用),final会将句柄变为一个常数。

2 - 修饰成员方法

(1)不可以修饰构造方法。

(2)private修饰的方法默认是final的,不能被覆盖。

(3)普通的方法,被修饰后可以被继承,不能覆盖。

3 - 修饰类:类不能被覆盖,类中的方法默认是final

二、static

1 - 修饰成员变量

不依赖类的特定实例,被类的所有实例共享。static不可修饰局部变量。

2 - 修饰成员方法

不依赖类的特定实例,被类的所有实例共享。

3 - 形成静态的static代码块

三、static final

1 - 修饰成员变量

static修饰表示它可以通过类名访问,只有一个;final修饰表示它是一个常数。两个结合一起表示,一但赋值,不可修改,通过类名可以访问。

*对于一些容器类型(ArryList、HashMap..)的实例变量,不改变容器本身,但可以修改容器中的存放对象。

2 - 修饰成员方法

方法不可覆盖,通过类名可以访问。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章