java - 如何从 java 中的不同类访问私有(private)类的公共(public)方法?

标签 java class private

我只是有一个问题,有什么方法可以从一个类访问公共(public)方法,而这个类是私有(private)的,而另一个类是私有(private)的?例如,打印方法可以从不同的类访问,因为该类是私有(private)的?

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

最佳答案

是的。

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

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

关于java - 如何从 java 中的不同类访问私有(private)类的公共(public)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18005793/

相关文章:

java - AndEngine SpriteBatch setColor() 不工作

c++ - 在我的 cpp 或头文件中找不到错误,类构造失败

python - 是否可以为python中的类设置默认方法?

c++ - Friend Operator << 重载问题,

java - 从 JDK 访问非公共(public)(java 原生)类 (7)

php - 为什么类扩展没有获得私有(private)变量

java - 在 Java 中的 lambda 表达式中类型转换?

java - 有没有办法在设备内存 (RAM) 上最多存储 ~1GB?

c++ - 类和许多可以访问它的私有(private)数据的函数

java - 如何模拟更改实例属性状态的 void 方法