黑马程序员技术交流社区
标题:
枚举类中的自定义构造方法传入的变量怎么用?
[打印本页]
作者:
黑马李超
时间:
2013-3-12 16:45
标题:
枚举类中的自定义构造方法传入的变量怎么用?
本帖最后由 黑马李超 于 2013-3-12 22:40 编辑
public enum TrafficLamp{
RED(30){
public TrafficLamp changeLamp(){
return GREEN;
}
},
GREEN(45){
public TrafficLamp changeLamp(){
return YELLOW;
}
},
YELLOW(3){
public TrafficLamp changeLamp(){
return RED;
}
};
public abstract TrafficLamp changeLamp();
private int time;
private TrafficLamp(int time){
this.time = time;
}
}
复制代码
张老师说可以定义一个构造方法:
private TrafficLamp(int time)
{
this.time = time;
}
这个time在枚举值的内部类中调用,会显示无法从静态上下文中引用非静态变量。
不知道这个time怎么使用?
作者:
马甲大王
时间:
2013-3-12 18:24
你可以增加一个抽象seter,geter方法,然内部类实现就能获取了。
作者:
谢洋
时间:
2013-3-12 19:45
这个time在枚举值的内部类中调用,会显示无法从静态上下文中引用非静态变量。
不知道这个time怎么使用?
因为枚兴的元素是静态的,而time是非静态的,如要用,则同上面所所的那样‘
然后调用格式如:TraficLang.RED.geter();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2