[英]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.