太自由

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 //final修饰基本类型变量和引用类型变量的区别
 2 import java.util.Arrays;
 3 class Person
 4 {
 5     private int age;
 6     public Person(){}
 7     public Person(int age)
 8     {
 9         this.age = age;
10     }
11     public void setAge(int age){this.age = age;}
12     public int getAge(){return age;}
13 }
14 public class FinalReferenceTest 
15 {
16     public static void main(String[] args) 
17     {
18         //final修饰数组,iArr是一个引用变量
19         final int[] iArr = {5,6,12,9};
20         System.out.println(Arrays.toString(iArr));
21         //对数组元素排序,合法
22         Arrays.sort(iArr);
23         System.out.println(Arrays.toString(iArr));
24         //对数组元素赋值,合法
25         iArr[2] = -8;
26         System.out.println(Arrays.toString(iArr));
27         Arrays.sort(iArr);
28         System.out.println(Arrays.toString(iArr));
29         //下面语句对iArr重新赋值,非法
30         //iArr = null;
31 
32         //final修饰Person变量,p是一个引用变量
33         final Person p = new Person(45);
34         //改变Person对象的age实例变量,合法
35         p.setAge(23);
36         System.out.println(p.getAge());
37         //下面语句对p重新赋值,非法
38         //p = null;
39     }
40 }

 

posted on 2016-05-01 10:12  太自由  阅读(1172)  评论(0编辑  收藏  举报