在java中,如何从另一个类的私有类访问公共方法?
我有一个问题,有没有办法从另一个类的私有类访问公共方法?例如,print方法可以从另一个类访问,因为该类是私有的在java中,如何从另一个类的私有类访问公共方法?,java,class,private,Java,Class,Private,我有一个问题,有没有办法从另一个类的私有类访问公共方法?例如,print方法可以从另一个类访问,因为该类是私有的 private class TestClass { public void print() { } } 有 实际上,您不会返回对私有类的直接引用,因为其他类不能使用它。而是扩展某个公共类,并将私有类作为该公共类的实例返回。然后可以调用它继承的任何方法 public interface Printable { void print(); } public c
private class TestClass {
public void print() {
}
}
有
实际上,您不会返回对私有类的直接引用,因为其他类不能使用它。而是扩展某个公共类,并将私有类作为该公共类的实例返回。然后可以调用它继承的任何方法
public interface Printable {
void print();
}
public class Test {
public Printable getPrintable() {
return new PrintTest();
}
private class PrintTest implements Printable {
public void print() {
}
}
}
Test test = new Test();
test.getPrintable().print();
可以通过使用公共类扩展该类来实现这一点。或者你可以随时使用反射 为什么不自己尝试一下并不难:)print方法可以在任何TestClass对象上调用。实现这样一个对象的麻烦来了。但是当我尝试时,它说类的方法未定义。那么通过实现一个接口,我们可以创建一个链接,允许我们从私有类访问print方法?扩展私有类并访问它怎么样?是的,你也可以这样做,因为私有类的子类也将继承自私有类的超类。希望这不会像我一样让你困惑。哈哈,不,你真的很清楚一个例子,它帮助我更快地掌握它。谢谢你的帮助。