【发布时间】:2026-01-10 14:10:01
【问题描述】:
Oracle 文档(在下面的链接中)说:
非静态嵌套类(内部类)可以访问其他成员 封闭类,即使它们被声明为私有。
但在下面的示例中,我创建了一个对象objin(内部类),它无法访问其封闭外部类的任何方法或变量。下面是代码,有大佬能解释一下吗?
http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
package Package_1;
public class Outer {
int k;
public void Multiply()
{
System.out.println("inside outer class' method multiply");
}
public class Inner {
int l;
public void Division()
{
System.out.println("inside inner class' method Divison");
}
}
}
带有 Main 方法的类
package Package_1;
public class D {
public static void main(String[] args) {
Outer objout = new Outer();
objout.k = 5;
objout.Multiply();
Outer.Inner objin = objout.new Inner();
objin.l = 7;
objin.Division();
}
}
对于 objin 对象,我无法在其封闭类中访问 Multiple 方法。
【问题讨论】:
-
@VigneshVino:是的,他有一个。
标签: java