class A {
protected Integer x;
class A() {
x = new Integer(0);
}
public setX(Integer m) {
x = m;
}
}
class B extends A {
public class B() {
super();
}
public static void main() {
B b = new B();
b.setX(69);
System.out.println("Value of x is: " + b.x); // expect to be 69. Is it correct?
}
}
0
A
回答
3
2
受保護的訪問裝置,所述構件(或方法)是從類層次結構中相同的封裝和內可見。 所以,是的,你的代碼確實有預期的結果。
0
在繼承中使用受保護的變量並不是一個好習慣。
這樣做的正確方法(不違反封裝)是使用私人訪問器來訪問變量和公共(或受保護的)獲取器和設置器。
相關問題
- 1. 是否受保護的變量在繼承的類變成私有?
- 2. 子類從Java中的父類中更改受保護的變量
- 3. 繼承和受保護類java
- 4. 單元測試:不能繼承受保護的變量
- 5. 模板類不從另一個模板類繼承受保護的變量
- 6. 是否有可能在變量中更改變量的值?
- 7. 在超類方法中修改子類的不可變/受保護的變量
- 8. 是否有可能從Objective-C(Xcode/iOS)中的主類繼承?
- 9. 從受保護的嵌套類繼承的公共嵌套類?
- 10. 受保護的變量的繼承(StyleCop SA1401)
- 11. Rails控制器和涉及繼承的「受保護」變量
- 12. 從繼承類更改java超類變量
- 13. 從Java類繼承的Kotlin類是否也從Any繼承?
- 14. Java子類如何繼承受訪問保護的父字段?
- 15. 受保護/私有繼承鑄造
- 16. 是否有可能爲類繼承
- 17. Python中的繼承類變量修改
- 18. C++繼承中的保護和私有成員變量
- 19. 更改子類的受保護變量的值
- 20. 在java中訪問繼承類變量
- 21. 在Java中繼承類變量值?
- 22. 使從繼承保護的Java字段
- 23. 爲什麼我不能從Java中的另一個包中的繼承類調用受保護的方法?
- 24. 是否有可能在「while」循環中更改變量的值?
- 25. 如何從Actor類繼承受保護的函數?
- 26. 訪問受保護的繼承
- 27. 使用受保護的繼承
- 28. 受保護成員的繼承
- 29. 繼承新的基類(繼承舊的基類)是否有重大改變?
- 30. 如何在類I中訪問受封裝保護的變量不能修改
順便說一下,你可以試試它在你自己的:) – 2011-03-30 08:52:06
我敢打賭,只要你問這個問題,就像它會做試驗一樣。也許你在本地機器上有不同的結果?請不要把這當作攻擊,你已經問了一個完全有效的問題:) – Rich 2011-03-30 08:53:14
謝謝大家。我其實只是想驗證我的想法,因爲我在調試一個大項目的過程中。再次感謝! – root 2011-03-30 09:03:30