黑马程序员技术交流社区

标题: final关键字修饰引用变量时 [打印本页]

作者: IDhmpj    时间: 2015-5-2 22:56
标题: final关键字修饰引用变量时
本帖最后由 IDhmpj 于 2015-5-2 22:57 编辑

final修饰的成员变量表示常量,只能被赋值一次,赋值后值不再改变。
    如果变量是引用类型的,那么变量对应的对象的内容是可以改变的。
  1. class FinalTest
  2. {
  3.         public static final Person p = new Person("Tom");
  4.         public static void main(String[] args)
  5.         {
  6.                 System.out.println(p.getName());//结果为Tom
  7.                 Person p2 = p;
  8.                 p2.setName("Lucy");
  9.                 System.out.println(p.getName());//结果为Lucy

  10.                 Person p3 = new Person("Jery");
  11.                 p = p3;//此处无法通过编译,因为final修饰的变量只能进行一次赋值操作.
  12.                 System.out.println(p3.getName());
  13.                
  14.         }
  15. }
  16. class Person
  17. {
  18.         private String name;
  19.         Person(String name)
  20.         {
  21.                 this.name = name;
  22.         }

  23.         public String getName()
  24.         {
  25.                 return name;
  26.         }
  27.         public void setName(String name)
  28.         {
  29.                 this.name = name;
  30.         }

  31. }
复制代码







作者: jing3133920    时间: 2015-5-2 23:15
路过学习学习
作者: 浪死歌    时间: 2015-5-3 01:11

路过学习学习 队形
作者: 一只玉米    时间: 2015-5-3 10:35


路过学习学习 队形
作者: 苏杭    时间: 2015-5-3 10:41
路过学习学习!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2