A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黑马李超 于 2013-3-12 22:40 编辑
  1. public enum TrafficLamp{
  2.                 RED(30){
  3.                         public TrafficLamp changeLamp(){
  4.                                 return GREEN;
  5.                         }
  6.                 },
  7.                 GREEN(45){
  8.                         public TrafficLamp changeLamp(){
  9.                                 return YELLOW;
  10.                         }
  11.                 },
  12.                 YELLOW(3){
  13.                         public TrafficLamp changeLamp(){
  14.                                 return RED;
  15.                         }
  16.                 };
  17.                 public abstract TrafficLamp changeLamp();
  18.                 private int time;
  19.                 private TrafficLamp(int time){
  20.                         this.time = time;
  21.                 }
  22.         }
复制代码
张老师说可以定义一个构造方法:
private TrafficLamp(int time)
{
this.time = time;
}
这个time在枚举值的内部类中调用,会显示无法从静态上下文中引用非静态变量。
不知道这个time怎么使用?

2 个回复

倒序浏览
你可以增加一个抽象seter,geter方法,然内部类实现就能获取了。
回复 使用道具 举报
这个time在枚举值的内部类中调用,会显示无法从静态上下文中引用非静态变量。
不知道这个time怎么使用?
因为枚兴的元素是静态的,而time是非静态的,如要用,则同上面所所的那样‘
然后调用格式如:TraficLang.RED.geter();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马