1 public class DemoClass4Final {
2 public static void main(String[] args) {
3 //TODO final 在数据初始化后不能修改,使用关键字final
4 //final 可以修饰变量,变量的值一旦初始化后无法修改
5 //final 修饰类里的属性时(属性可以不赋值,只声明),JVM不会自动给属性设置默认值,需要手工设置属性初始化值
6 //一般将final修饰的变量成为常量,也成为:不可变变量
7 //final可以修饰方法,但是该方法不能被子类重写
8 //final可以修饰类,但是就是没有子类了,也就是另外一个类不能继承当前这个加了final的类
9 //final不能修饰构造方法
10 //final可以修饰方法的参数,一旦修饰,参数无法修改
11
12 final String name = "frank";
13 //name = "jack"; //报错误
14
15 //外部定义的方法,构造函数来定义初始化,常用, 在这里调用
16 User user = new User(100);
17 //user.age = 90; //报错误,final存在,不能被修改,构造函数初始化后,其他地方不能被修改
18 System.out.println(user.age);
19 }
20 }
21
22 class User{
23 //内部定义的方法
24 //public final int age; //报错误
25 //public final int age = 36;
26
27 //外部定义的方法,构造函数来定义初始化,常用
28 public final int age;
29 public User(int age){
30 this.age = age;
31 }
32
33 public final void test(){
34
35 }
36 }
37
38 //子类不能重写
39 //class User2 extends User {
40 // public void test() {
41 //
42 // }
43 //}