1.final关键字的用法:
final可以修饰类,该类不能继承
final还可以修饰成员:
成员变量(final修饰成员变量,此变量变成常量)
成员方法(final可以修饰成员方法,该成员方法不能被重写)
常量的分类:
字面值常量:"Hello",'A',100,3.14
自定义常量:final int num=20;
final,finally,finalize():
finally:异常类中:Exception:释放资源
finalize:根据GC垃圾回收器有关系
2final可以修饰基本数据类型:那么该类型的值不能再改变:
例:final int num=10;
num=20//错误的写法
final int num;//定义变量:被final修饰:最终无法更改
再赋值的时候只能赋值一次
final可以修饰引用类型:应用类型的地址值不能再改变了,但是里面的成员变量可以变化
final的初始化时机:
final可以修饰类,该类不能继承
final还可以修饰成员:
成员变量(final修饰成员变量,此变量变成常量)
成员方法(final可以修饰成员方法,该成员方法不能被重写)
常量的分类:
字面值常量:"Hello",'A',100,3.14
自定义常量:final int num=20;
final,finally,finalize():
finally:异常类中:Exception:释放资源
finalize:根据GC垃圾回收器有关系
2final可以修饰基本数据类型:那么该类型的值不能再改变:
例:final int num=10;
num=20//错误的写法
final int num;//定义变量:被final修饰:最终无法更改
再赋值的时候只能赋值一次
final可以修饰引用类型:应用类型的地址值不能再改变了,但是里面的成员变量可以变化
final的初始化时机:
被final修饰的成员变量,只能被赋值一次/或者先定义,然后可以在执行构造方法完毕之前赋值;
代码
class Fu{
public final void show(){
System.out.println("这里是绝密文件");
}
}
class Zi extends Fu{
}
public class FinalDemo3 {
public static void main(String[] args) {
Zi z=new Zi();
z.show();
}
}