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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贾成龙 中级黑马   /  2012-8-16 00:25  /  1475 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class EnumTest {
public enum TrafficLamp{
                RED(30){
                        public  TrafficLamp nextLamp(){
                                return GREEN;
                        }
                },
                YELLOW(5){
                        public  TrafficLamp nextLamp(){
                                return RED;
                        }                       
                };
                public abstract TrafficLamp nextLamp();
                private int time;
                private TrafficLamp(int time){this.time = time;}
}
为什么枚举中的方法定义为抽象的,而枚举和外部类都没有定义为抽象的呢?看了好几遍视频,还是不理解请大家帮忙解决一下呗!

1 个回复

倒序浏览
因为枚举是给别的对象用的,只是一种工具,在枚举中的方法里面,没有例子,
当,别的对象,需要枚举的时候,才调用这个方法,
所以可以把他定义为抽象的,

枚举和外部类都没有定义为抽象的呢

因为方法都是对象调用的,就有了实例,所以不可以定义为抽象的。

抽象的方法一般定义在接口里面 。。因为接口里面不可以实例化,只可以实现这个接口。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马