static、 final、 static final 这几个关键字的理解
一:static
- 加载:static 在类加载的时候初始化(加载)完成
- 含义:static是静态的,被static修饰说明属于类,不属于类的对象
- 可修饰:static可以修饰 内部类、方法、成员变量、代码块
- 不可修饰:static不可以修饰外部类、局部变量【static属于类的,局部变量属于其方法,并不属于类】
- 注意:static 方法不能兼容this关键字【static代表类层次,this代表的是类的对象】构造方法不是静态方法;因为构造方法可以有this
- 主要的作用:方便调用没有创建对象的方法、变量
二:final
- 加载:final可以在编译(类加载的准备阶段)时初始化,也可以在运行时初始化,初始化后不能被改变
- 可修饰:类,内部类,方法,成员变量,局部变量,基本类型,引用类型
- 含义:final 是最终的意思,在java中意为常量的意思,也就是说被final修饰的只能进行一次初始化
final修饰的类型 | 作用 |
---|---|
基本的类型 | 值不能被修改 |
引用的类型 | 引用不可以被修改,也就是说不能指向其他的对象,但是该引用的对象内容可以修改 |
方法 | 方法不可以重写,但是可以被子类访问【前提是方法不是private的类型】 |
类 | 类不可以被继承 |
二:static final
- 可修饰:取二者的共同体,只能修饰成员变量,方法,内部类
修饰的类型 | 作用 |
---|---|
成员的变量 | 属于类的变量只能赋值一次 |
方法 | 属于类的方法且不可以被重写 |
内部类 | 属于外部类,其不能被继承 |