java中关键字final的解析

  final 通常是指“无法改变的事”。下面就介绍final在类,方法,变量中的用法。

  1.final可以修饰类,该类不能被继承。

  2.final可以修饰方法,该方法不能被重写。

  

class Fu {
    public final void show() {
    
    }
    
}

class Zi extends Fu {
    // Zi中的show()无法覆盖Fu中的show()
    public void show() {
        
    }
}

class FinalDemo {
    public static void main(String[] args) {
        Zi z = new Zi();
        z.show();
    }
}

   3.final修饰变量,该变量是一个常量。

    对于基本类型final使数值恒定不变。

    引用类型 地址值不能发生改变,但是对象的内容是可以改变的

 1 class Student {
 2     int age = 10;
 3 }
 4 
 5 class FinalTest {
 6     public static void main(String[] args) {
 7         //局部变量是基本数据类型
 8         int x = 10;
 9         x = 100;
10         System.out.println(x);
11         final int y = 10;
12         //无法为最终变量y分配值
13         //y = 100;
14         System.out.println(y);
15         System.out.println("--------------");
16         
17         //局部变量是引用数据类型
18         Student s = new Student();
19         System.out.println(s.age);
20         s.age = 100;
21         System.out.println(s.age);
22         System.out.println("--------------");
23         
24         final Student ss = new Student();
25         System.out.println(ss.age);
26         ss.age = 100;
27         System.out.println(ss.age);
28         
29         //重新分配内存空间
30         //无法为最终变量ss分配值
31         ss = new Student();
32     }
33 }

 

  

 

 

  

posted @ 2015-06-05 10:36  宋小俊要加油  阅读(167)  评论(0编辑  收藏  举报