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