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. 动态确定方法的可见性
- 6. 如何声明int变量对我的所有方法都可见?
- 7. 使库的方法对于外部访问不可见,但对库可见
- 8. 只允许在路由中指定的URL在Codeigniter中可见
- 9. MVC表行只对用户可见
- 10. 静态方法可能只对一类
- 11. 类方法可见细化
- 12. Vb.net DLL方法不可见
- 13. CakePHP方法可见性
- 14. 扩展方法不可见
- 15. java.math.BigInteger,pow方法只接受int
- 16. findViewById(int)方法未定义
- 17. 如何定义只在Objective-C框架中可见的方法和属性?
- 18. WordPress的 - 只对特定用户可见的帖子
- 19. Magento 2增值税只对特定国家可见
- 20. 只对特定用户可见的WordPress SEO插件
- 21. PHP接口:指定任何可见性
- 22. SpringMVC:我可以指定@ModelAttribute只填充特定的控制器方法吗?
- 23. 指定一个默认值的方法,每一个未来INT
- 24. 无法找到符号 - 方法fillArc(INT,INT,INT,INT,INT,INT)
- 25. 'int'对象不可迭代,但是那些是int数组..不只是int
- 26. 确定蒙版对象的可见区域/不可见区域
- 27. 定义可见行数来实现对可见单元格仅
- 28. 如何注释我的方法在Android中返回可见性类型int?
- 29. 只让部分div可见
- 30. Nokogiri只抓取可见inner_text
不让它全球 – brianforan 2014-12-09 13:25:47
这个问题似乎是题外话,因为它显然是一个XY问题。 – 2014-12-09 13:26:53
请注意,如果您要隐藏“i”,则命名您的方法'updateI'并不聪明...... – Maroun 2014-12-09 13:28:18