[英]Recursive object access to private methods
為什么以下代碼打印“ YO”? 誰的printYo()
被調用? 我認為該代碼不會編譯,因為printYo()
是t
私有對象。
public class Test {
private void printYo() {
System.out.println("YO");
}
public void doubleTrouble(Test t) {
t.printYo();
}
public static void main(String[] args) {
Test test = new Test();
test.doubleTrouble(new Test());
}
}
我該怎么做才能確保外部對象不會改變參數類?
printYo()是t的私有對象
否。關於Test
類,該方法是private
。 Test
任何代碼段都可以使用它。
我該怎么做才能確保外部對象不會改變參數類?
Java沒有任何內置機制來拒絕每個實例訪問成員。 (如果那是您的意思。)
您正在類中使用調用方法,聽起來對輸出正確。 即使從不同的類調用main方法,它也會提供相同的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.