Я просто играю с enum, и я хотел посмотреть, как он ведет себя в каком-то безумном сценарии ios. Ну, немногие java ботаники могут знать, что мы действительно можем реализовать интерфейс в Enums. Поэтому я придумал приведенный ниже код и хотел узнать, создан ли поток и вызван ли он. Мне любопытно, если кто-нибудь может объяснить, почему sysout не напечатан. Приведенный ниже код действителен, т.е. компилируется нормально и выполняется. Он просто ничего не печатает. Кто-нибудь может объяснить ясно?
Также, почему метод values () не объявлен ни в классе Enum, ни в классе Object. Почему метод значений предоставляется компилятором java. Почему Солнце / Oracle не думает о реализации этого в классе Enum.
package com.test;
enum MyEnum implements Runnable{
ENUM1,ENUM2,ENUM3;
public void run() {
System.out.println("Inside MyEnum"+Thread.currentThread().getName());
}
}
public class EnumTesting {
MyEnum en;
public static void main(String[] args) {
EnumTesting test = new EnumTesting();
Thread t = new Thread(test.en);
t.start();
}
}