gpt4 book ai didi

java - 继承内部类的子类如何访问外部类成员

转载 作者:行者123 更新时间:2023-12-01 12:28:06 39 4
gpt4 key购买 nike

//下面的类是在子类中扩展内部类的示例,并且我试图从子类访问外部类的方法,即内部类的封装类。

package innerClass;

public class outterclass {
private int outer=24;
protected int get_outer(){
return outer;
}
protected static class innerclass{
private int outer=25;
protected int get_outer(){
return outer;
}
}
}
package innerClass;

public class subclass_B extends outterclass.innerclass {

void parent_class_info_fetch(){
System.out.println(get_outer());
//i want to access the outer class get_outer method and how do i achieve that?
}
public static void main(String[] args) {
InheritanceStaticInnerClass_B isb=new InheritanceStaticInnerClass_B();
isb.parent_class_info_fetch();
}
}

最佳答案

您的内部类不是内部类。它是一个静态嵌套类,与其封闭类没有特殊关系。您无法访问封闭类的实例,因为 innerclass 或其子类无法使用此类实例。

如果 innerclass 确实是内部的,那么您必须使用封闭实例来实例化它:

outterclass outer = new outerclass();
subclass_B b = outer.new subclass_B();

然后,在 parent_class_info_fetch() 中你可以编写

outterclass.this.get_outer()

达到该方法。

当然,此类代码中可能存在多层不良实践,因此请将此视为学术练习。

您还应该了解 Java 中的基本命名约定。

关于java - 继承内部类的子类如何访问外部类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26179216/

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