gpt4 book ai didi

项目构造函数中的 Java Enum 私有(private)方法

转载 作者:搜寻专家 更新时间:2023-11-01 01:17:40 25 4
gpt4 key购买 nike

public enum Parent {
item1(1){

public void testing() {
add();
multiply();
minus(); // error here!!!
}

}, item2(2);

private int i ;
Parent(int i){
this.i = i;
}

public void setI(int i ){
this.i = i;
}
public int getI(){
return i;
}

public void multiply(){

}
protected void add(){

}

private void minus(){

}
}

如你所见,它们在同一个类中,为什么 minus() 不能在内部使用?通常内部类可以访问外部类中的私有(private)方法/字段吗?

最佳答案

为了能够从 item1 访问 minus(),您必须将其设为 protected(或 public).

考虑 Parentitem1 的正确方法是将其作为基类和子类。

来自JLS :

The optional class body of an enum constant implicitly defines an anonymous class declaration (§15.9.5) that extends the immediately enclosing enum type.

关于项目构造函数中的 Java Enum 私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13641019/

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