我只是有一个问题,有没有办法从另一个类的私有类中访问公共方法?例如,由于该类是私有的,因此可以从不同的类访问 print 方法?
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();
您可以通过使用公共类扩展该类来做到这一点。或者你总是可以使用反射!