3
A
回答
1
不,没有这样的访问修饰符。类级别是最好的每个实例范围。
您可能需要考虑拆分单独的类中的类的状态,以便i
可以是较小类的字段。
实施例:
class PositiveInt {
int i;
public void updateI(int i) {
if (i < 0) throw new IllegalArgumentException(...);
this.i = i;
}
// ...
}
class YourClass {
// No need to worry about 'i' staying positive in a large and complex class
PositiveInt i = new PositiveInt();
void updateI(int newI) {
i.updateI(newI);
}
}
5
否 - 类的所有成员是彼此可见。
如果你发现你的类的一些成员不应该访问特定成员,则可能表示您应该分割你的等级达到 - 想想你是否可以更精细地划分的信息,基本上是这样。当然,这并不总是一个解决方案 - 但是当然,如果你发现有两个或三个相互关联的领域,并且只有一些方法应该触及,那通常表明你应该把它们放在他们自己的类型中。
0
由于i
是一个类的成员变量,所以对其他非静态方法将是可见的。如果你希望它的作用域被限制在一个方法中,它就不能是类成员。
有关Java中变量作用域的简单介绍,您可以查看this page。
1
否......私人字段只能在您的班级中以所有方法显示。 你可以继承这个类来隐藏字段。
0
为什么你想要一个类变量只对特定方法可见。
方法在短短声明变量所以才可见该方法:
private void updateI(int x) {
int i = x;
}
+0
这只是为每个方法调用创建一个'i',而不是该对象的一个'i'属性。 – 2014-12-09 16:21:59
相关问题
- 1. WatchOS - 让int对所有wkinterfacecontroller都可见的最佳方法
- 2. C# - 如何使方法只对继承方法的基类的类可见
- 3. 方法不可见
- 4. 动态确定方法的可见性
- 5. 如何声明int变量对我的所有方法都可见?
- 6. 使库的方法对于外部访问不可见,但对库可见
- 7. MVC表行只对用户可见
- 8. 静态方法可能只对一类
- 9. 类方法可见细化
- 10. CakePHP方法可见性
- 11. java.math.BigInteger,pow方法只接受int
- 12. findViewById(int)方法未定义
- 13. 只对特定用户可见的WordPress SEO插件
- 14. SpringMVC:我可以指定@ModelAttribute只填充特定的控制器方法吗?
- 15. 指定一个默认值的方法,每一个未来INT
- 16. 确定蒙版对象的可见区域/不可见区域
- 17. 如何注释我的方法在Android中返回可见性类型int?
- 18. Nokogiri只抓取可见inner_text
- 19. 对Main方法中的方法调用不可见的文件路径声明
- 20. Angular2指令可见性
- 21. 增加int计数器的可见度
- 22. 硒的HtmlUnit org.openqa.selenium.ElementNotVisibleException:您可能只对可见元素
- 23. 为什么参数的专用字段对Java 6中的泛型方法可见但对Java 7不可见?
- 24. 使通过SOAP发送的对象的方法可见
- 25. 如何挑选对默认可见性方法的调用?
- 26. 如何使我的Objective C类方法仅对Swift类可见
- 27. 图形对象不可见时,我打电话重绘方法
- 28. 如何强制某些方法仅对kotlin可见
- 29. 改变方法的可见性而无需重新定义方法
- 30. php OOP - 与方法可见性有关
不让它全球 – brianforan 2014-12-09 13:25:47
这个问题似乎是题外话,因为它显然是一个XY问题。 – 2014-12-09 13:26:53
请注意,如果您要隐藏“i”,则命名您的方法'updateI'并不聪明...... – Maroun 2014-12-09 13:28:18