gpt4 book ai didi

java - 从内部类访问外部类的私有(private)方法或变量

转载 作者:行者123 更新时间:2023-12-01 22:21:42 25 4
gpt4 key购买 nike

内部类甚至可以访问外部类的私有(private)变量/方法。那么为什么当我尝试从代码中的内部类对象访问外部类对象的私有(private)方法时出现编译器错误。

     public class OuterClass {

private int id=5;
private void printSomeText()
{
System.out.println("Text is ");
}


public static void main(String[] args) {
// TODO Auto-generated method stub
OuterClass outer = new OuterClass();
outer.printSomeText();
OuterClass.InnerClass inner = outer.new InnerClass();
inner.printSomeText();// gives compiler error


}

class InnerClass{

public void printText() {
System.out.println("Some Text");

}
}
}

最佳答案

Inner classes can even access the private variables/methods of outer classes.

是的,这意味着在您的 InnerClass::printText 方法中,您可以调用:

OuterClass.this.printSomeText(); //private method is accessible

但是,为了能够编写 inner.printSomeText();InnerClass 需要有自己的 printSomeText 方法,可以在类中声明本身或从父类继承。

关于java - 从内部类访问外部类的私有(private)方法或变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29601150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com