【发布时间】:2021-03-13 20:26:32
【问题描述】:
如何从包“test”中的“file2”访问包“secret”中“file1”中的内部类“Inner”。这是它的代码:
package secret;
public class file1 {
protected class Inner {
public int x = 8;
}
}
package test;
import secret.file1;
public class file2 {
public static void main(String[] args) {
// code
}
}
我知道关于这个主题有一个类似的问题 (How to access protected inner class outside package?),但我似乎不明白答案。这是我迄今为止尝试过的(通过阅读答案):
第一次尝试:
public class file2 extends file1 {
public static void main(String[] args) {
file1 outer = new file1();
file1.Inner inner = outer.new Inner();
}
}
第二次尝试:
public class file2 extends file1 {
public static class file3 extends file1.Inner {
public static void main(String[] args) {
file1 outer = new file1();
file1.Inner inner = outer.new Inner();
}
}
}
尝试 3:
public class file2 extends file1 {
public static class file3 extends file1.Inner {
public static void main(String[] args) {
file2 outer = new file2();
file2.file3 outerinner = outer.new file3();
file2.file3.Inner inner = outerinner.new Inner();
}
}
}
似乎我确实错过了一些东西,引导我朝着正确的方向前进会非常重要。
【问题讨论】:
-
使用反射。然而,真正的问题是,你为什么需要这样做?
标签: java class object oop inner-classes