文章目录
- 面向对象的final关键字
面向对象的final关键字
- final修饰的类无法被继承
- final修饰的方法无法被覆盖
- final修饰的变量一旦赋值后不可被更改
- final修饰的实例变量必须手动赋值
- final修饰的引用一旦指向某个对象之后,不能在指向其他对象,且被指向的对象不能被垃圾回收器回收
- final修饰的实例变量是不可变的,这种变量一般和static连用,被称为"常量"
- 语法格式:
public static final 类型 常量名 = 值;
- java规范中要求所有的常量名全部大写,每个单词之间用下划线链接
public class User {
int id;
public User(int id) {
super();
this.id = id;
}
}
public class method155 {
//定义加了final的实例变量必须手动赋值
//实例变量有默认值
//法一
final int age = 10;
//法二
final int num;
public method155(){
this.num = 10;
}
public static void main(String[]) {
// TODO Auto-generated method stub
int i = 100;
System.out.println(i);
i = i + 200;
System.out.println(i);
final int m = 90;
// m = 200; 编译错误
//创建对象
//final修饰的引用
final User u = new User(100);
//user = new User(50);
System.out.println(u.id);
u.id = 50;
//final修饰的引用虽然指向某个对象后不能指向其他对象,
//但是所指对象内部的内存是可以被改动的
System.out.println(u.id);
System.out.println(China.GUO_JI);
}
}
结果:
100
300
100
50
返回顶部