测试了一些东西我尝试做一个枚举,其中枚举中的每个元素都有一个不同的类.
举个例子:
public enum MyEnum {
first{
class First{}
},
second {
class Second{}
};
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试在任何类之前放置一个公共修饰符,则此处不允许使用修饰符.我不太清楚为什么会这样.我不能在枚举之外实例化这些类,也不能看到它们.但是我可以设法让实例这样做:
public enum MyEnum {
first{
class First{}
public Object getObject(){
return new First();
}
},
second {
class Second{}
public Object getObject(){
return new Second();
}
};
public abstract Object getObject();
}
public class Main {
public static void main(String[] args) {
System.out.println(MyEnum.first.getObject().getClass());
System.out.println(MyEnum.second.getObject().getClass());
}
}
Run Code Online (Sandbox Code Playgroud)
随着输出:
class MyEnum $ 1 $ First
class MyEnum $ 2 $秒
我可以清楚地引用这个类,为什么我不能在编译时访问它?
我决定购买RubyMine 8.0(学生版).
我已经安装了Ruby,我可以从终端运行Ruby脚本.但是,我不能让RubyMine检测到这个解释器,我似乎无法设置它.
有没有必要的宝石?什么是宝石?
[![我收到此错误]](https://i.stack.imgur.com/MWkIU.png)