Я использовал класс java.util.concurrent.TimeUnit
, и я нашел несколько интересных соглашений о том, что я не знал, и я не понимал, что это перечисления, которые я сделал пример самостоятельно надеюсь кто-нибудь может объяснить мне ..java.util.concurrent.TimeUnit class Образец дизайна
простой интерфейс с методом.
interface MyInterface{public String concate(String... a);}
последнего я создать enumeration
public enum Enumerations implements MyInterface
{
STRINGUTILITIES{},
BEANENUMERATION{},
NANOSECONDS
{//sample methods
public long toNanos(long d) { return d; }
public long toMicros(long d) { return d; }
public long toMillis(long d) { return d; }
public long toSeconds(long d) { return d; }
public long toMinutes(long d) { return d; }
public long toHours(long d) { return d; }
public long toDays(long d) { return d;}
public long convert(long d) { return d;}
int excessNanos(long d, long m){return 13;}
};
@Override public String concate(String... a){throw new AbstractMethodError();}
}
мне нужно реализовать метод concate
является OK для меня
мой первый вопрос.
STRINGUTILITIES{},
BEANENUMERATION{},
NANOSECONDS{}
- это перечисления? я думаю, что на самом деле являются вложенными перечислений ..
моей главной заботой является ли comment
метод concate на внешней нумерации Enumerations
STRINGUTILITIES{},
BEANENUMERATION{},
NANOSECONDS{}
сетует они не реализуют метод .. кажется 3 внутренние перечисления каким-то образом расширяют внешнее перечисление, и если внешнее перечисление реализует метод, это нормально для них.
как этот
public enum Enumerations implements MyInterface
{
STRINGUTILITIES{},
BeanEnumeration{},
NANOSECONDS
{
public long toNanos(long d) { return d; }
public long toMicros(long d) { return d; }
public long toMillis(long d) { return d; }
public long toSeconds(long d) { return d; }
public long toMinutes(long d) { return d; }
public long toHours(long d) { return d; }
public long toDays(long d) { return d;}
public long convert(long d) { return d;}
int excessNanos(long d, long m){return 13;}
};
}
если внешняя нумерация не реализует метод и я реализовать метод на каждых вложенных перечислениях является OK
.
другой вопрос, если comment
вложенные перечислений как этот
interface MyInterface{public String concate(String... a);}
public enum Enumerations implements MyInterface
{
@Override public String concate(String... a){return "java";}
}
показывает ошибку ..
пожалуйста, кто-то руководство по поясните, как используется этот подход и назвал ..
спасибо большое ..
Это выглядит * очень * странно для меня. Почему у вас есть enum * перечислений *? Что может кто-нибудь делать с просто значением типа «Перечисления»? Это не поможет, что вы не указали каких-либо признаков того, для чего предназначен метод conc conc. –
Вы _actually_ читаете [enum docs] (http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html)? –
метод concate - это всего лишь метод, который не заботится о том, какие средства достижения - это только дизайн, который мне интересен, чтобы понять ..... этот код базируется на TimeUtil.class Java API, это просто более читаемый пример. . – chiperortiz