gpt4 book ai didi

java - (JAVA Enums) - 枚举常量内的匿名类

转载 作者:行者123 更新时间:2023-11-29 04:51:52 24 4
gpt4 key购买 nike

美好的一天!

我有一个只实现一个方法的接口(interface)。我不想制作几个都实现这个单一方法的类,因此我决定改用匿名类。

我对某些静态项目使用枚举,这些枚举有我的界面实例。但是,当我尝试在我的枚举常量中创建一个匿名类时,我的 IDE (eclipse) 几乎什么也没告诉我(就好像它在代码块之外)。

我的问题如下:我可以在我的枚举常量中使用匿名类吗?

如果我的文字不清楚(抱歉我不是英语)请看下面的例子。

代码示例

/**
* My Interface
*/

public interface IPotato {

public void eatPotato();
}

/**
* My enum class
*/
public enum PotatoEnum {

I_WANT_TO_EAT_POTATO(new IPotato() {
@Override
public void eatPotato() {
// Cant put code here.
} });

private IPotato _myAnonymousClass;
private PotatoEnum(IPotato anonymousClass){
this._myAnonymousClass = anonymousClass;
}

public IPotato getPotato(){
return _myAnonymousClass;
}

}

最佳答案

你可以这样做,这是一个非常有效的解决方案。

作为建议,让您的枚举实现您的接口(interface)以使代码更具可读性:

public enum PotatoEnum implements IPotato{

I_WANT_TO_EAT_POTATO(){

@Override
public void eatPotato() {
// Cant put code here.

}},//more ENUMS ;

}

关于java - (JAVA Enums) - 枚举常量内的匿名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156587/

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