本帖最后由 IDhmpj 于 2015-5-2 22:57 编辑
final修饰的成员变量表示常量,只能被赋值一次,赋值后值不再改变。
如果变量是引用类型的,那么变量对应的对象的内容是可以改变的。
- class FinalTest
- {
- public static final Person p = new Person("Tom");
- public static void main(String[] args)
- {
- System.out.println(p.getName());//结果为Tom
- Person p2 = p;
- p2.setName("Lucy");
- System.out.println(p.getName());//结果为Lucy
- Person p3 = new Person("Jery");
- p = p3;//此处无法通过编译,因为final修饰的变量只能进行一次赋值操作.
- System.out.println(p3.getName());
-
- }
- }
- class Person
- {
- private String name;
- Person(String name)
- {
- this.name = name;
- }
- public String getName()
- {
- return name;
- }
- public void setName(String name)
- {
- this.name = name;
- }
- }
复制代码
|
|