如何从java中的不同类访问私有类的公共方法?

时间:2013-08-01 22:33:59

标签: java class private

我只是有一个问题,有没有办法从一个来自不同类的私有类访问公共方法?例如,可以从不同的类访问print方法,因为该类是私有的?

private class TestClass {
    public void print() {
    }
}

2 个答案:

答案 0 :(得分:4)

是的。

您实际上并没有返回对私有类的直接引用,因为其他类不能使用它。相反,您扩展了一些公共类,并将您的私有类作为该公共类的实例返回。然后可以调用它继承的任何方法。

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();

答案 1 :(得分:0)

您可以通过使用公共类扩展该类来实现。或者你总是可以使用反射!