黑马程序员技术交流社区

标题: 私有变量问题 [打印本页]

作者: Saner    时间: 2014-4-2 14:01
标题: 私有变量问题
定义一个自定义的类,类里有一个私有的变量,在构造函数中修改,但是在该类的其他的函数调用该变量时值被修改,要如何使值不被修改
作者: Saner    时间: 2014-4-2 14:02
追问基础题下面基础题怎么做
定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,
并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。
作者: 向阳泪无痕    时间: 2014-4-2 15:46
使用  final 修饰
用了这个就表示不可改变了。只能赋值一次。
作者: 1453149997    时间: 2014-4-2 16:49
可以在构造函数中修改,但是不能在其它方法中修改,有一种办法就是该变量不是静态的,而其它访问的方法是静态的就可以办到
作者: 黄泉    时间: 2014-4-3 15:55
定义一个自定义的类,类里有一个私有的变量,在构造函数中修改,但是在该类的其他的函数调用该变量时值被修改,要如何使值不被修改
这个变量是成员变量,而且是被 private 修饰,不能够直接调用。想要赋予值,只有通过构造函数。或者定义 set方法。这些前提是类与类之间的调用。在本类中,私有修饰符是没有作用的。最好的办法就是用 final 修饰。将其定义成一个常量。如果需要二次赋值,而且是类与类之间调用。又想保持值的唯一性,可以使用单例设计模式。值就是一个,不管多少次赋值都是一个数值在变幻。而不是开辟多个空间。
作者: haixian    时间: 2014-4-3 19:19
你把他改成final之后就可以了




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