你不知道的
java环节,大部分采用dota作为背景,如有错误,请谅解并指正。
一:基本
[
java]
public enum Hero {
AM,
BM,
AA;
}
这样,我们就把部分英雄放入到一个枚举中。
[
java]
System.out.println(Hero.AA);
System.out.println(Hero.AM);
System.out.println(Hero.BM);
String a = Hero.AM.toString();
System.out.println(a);
//遍历一下枚举中的值
[
java]
for (Hero h :Hero.values()){
System.out.println(h);
}
二:扩展一下
搞一个英雄类型,
[
java]
public enum Type {
Agility("敏捷型"),
Power("力量型"),
intelligence("智力型");
private String chinses;
private Type(String chinese){
this.chinses = chinese;
}
public String getChinses() {
return chinses;
}
public void setChinses(String chinses) {
this.chinses = chinses;
}
}
增加两个属性,构造方法(必须是private,或者不写,其他的就报错呀),
重写一下toString(),
[
java]
public enum Hero {
AM("敌法师",Type.Agility),
BM("兽王",Type.Power),
AA("冰魂",Type.Intelligence);
private String name;
private Type type;
private Hero(String name,Type type) {
this.name = name;
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.getType().getChinses()+"英雄:"+this.getName();
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
}
测试:
[
java]
<span style="color:#000000;"> for (Hero h :Hero.values()){
System.out.println(h);
}</span>
敏捷型英雄:敌法师
力量型英雄:兽王
智力型英雄:冰魂
三:看看这个有木有
多个构造方法,也是可以的。但是注意不要空指针了。
[
java]
public enum Hero {
AM("敌法师",Type.Agility),
BM("兽王",Type.Power),
SS(),
AA("冰魂",Type.Intelligence);
private String name;
private Type type;
private Hero(String name,Type type) {
this.name = name;
this.type = type;
}
private Hero() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.getType().getChinses()+"英雄:"+this.getName();
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
}
四:那这个呢
[
java]
public
interface Active {
void att();
}
[
java]
public enum Hero implements Active{
AM("敌法师",Type.Agility),
BM("兽王",Type.Power),
// SS(),
AA("冰魂",Type.Intelligence);
private String name;
private Type type;
private Hero(String name,Type type) {
this.name = name;
this.type = type;
}
private Hero() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.getType().getChinses()+"英雄:"+this.getName();
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
@Override
public void att() {
System.out.println(this.getName()+"攻击");
}
}
[
java]
for (Hero h :Hero.values()){
System.out.println(h.getDeclaringClass());
h.att();
System.out.println(h);
}
敌法师攻击
兽王攻击
冰魂攻击