【问题标题】:How can you access public methods from private class from a different class in java?如何从 java 中不同类的私有类访问公共方法?
【发布时间】:2013-08-03 01:39:12
【问题描述】:

我只是有一个问题,有什么方法可以访问来自不同类的私有类的公共方法?例如,由于该类是私有的,因此可以从不同的类访问 print 方法?

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

【问题讨论】:

  • 你自己试试不难:)
  • 可以在任何 TestClass 对象上调用 print 方法。获得这样一个对象的麻烦就来了。
  • 但是当我尝试它说方法未定义类

标签: java class private


【解决方案1】:

是的。

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

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

【讨论】:

  • 哦,所以通过实现一个接口,我们可以创建一个链接,允许我们从私有类访问打印方法?扩展私有类并访问它怎么样?
  • 是的,你也可以这样做,因为私有类的子类也将继承自私有类的超类。希望这不会像我一样让您感到困惑,哈哈。
  • 哈哈 不,你举个例子真的很清楚,它帮助我更快地掌握它。感谢您的帮助。
【解决方案2】:

您可以通过使用公共类扩展该类来做到这一点。或者您可以随时使用反射!

【讨论】:

    猜你喜欢
    • 2011-02-11
    • 2013-10-08
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2014-06-06
    • 2014-10-27
    相关资源
    最近更新 更多