</p> 用法五:实现接口 1 N7 N3 M+ P: b8 K/ f3 J+ s5 F
所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。 ' z0 V# ~6 v6 ^2 ~9 r7 B z5 n$ _
public
9 |8 `3 w! H" A interface Behaviour {
% f3 f4 t4 u- |/ {3 h! ]; f void print(); , w6 E! z/ O. N/ P6 a5 H9 n, H' Z' \
String getInfo(); 5 K0 t. L; K, u f) k' n: g
}
5 z& k; ]% h' c public 7 ^/ ?3 r: [. ?, W
enum Color implements Behaviour{
$ r3 P6 u& u8 p5 w& N: h# ?7 S0 r) i1 D RED(“红色” , 1 ), GREEN( “绿色” , 2 ), BLANK( “白色” , 3 ), YELLO( “黄色” , 4 );
, F# k5 }9 v. ^ // 成员变量
; V# A: n' M# y Q& L$ g# h private String name;
6 z0 s" j. B; }" Y4 N0 P/ B; c. X @8 m private
: B, A0 f s, ] int index;
) ?9 }( w2 P5 ^, x // 构造方法
* I/ e2 P8 O5 k7 E7 t9 F) B private Color(String name, int index) { , n! M' @; \0 o. u) ]4 y
this .name = name; 1 e0 Y; o g" c. J7 ?
this .index = index;
/ ^* k/ [8 t. b. | o& D7 Z. N } 2 V) e5 f( K2 {& ?, `: p4 n
//接口方法
. N2 F- @ N! m @Override
+ v& y; R- Z" c2 l$ \+ U public String getInfo() {
$ ]3 b, _# W4 r& u8 q return
9 m* }" ~2 |" M; d this .name; " h9 \ O1 a0 T
}
2 S! |( F/ S+ m4 u //接口方法 1 Y# O M% q4 K/ M. |. G
@Override
, b+ M" }: C# R; O" I0 y public + Y. n8 Z% ^1 W5 a
void print() { W" P" I0 n- h- [
System.out.println(this .index+ “:” + this .name); : P1 l5 e7 q4 i' T1 B ]' G
}
9 R0 d: H4 R: E" I Q5 M
: A s" Z# K' ^2 Y- N" j2 H* p } |