黑马程序员技术交流社区
标题:
java高新技术-枚举与枚举抽象方法 枚举中内部类问题?
[打印本页]
作者:
黑马杨晨
时间:
2012-9-26 11:55
标题:
java高新技术-枚举与枚举抽象方法 枚举中内部类问题?
public class EnumTest
{
public static void main(String[] args)
{
}
public enum TrafficLamp //枚举类 默认的是 抽象类吗?
{
RED {
public TrafficLamp nextLamp() {
return null;
}
},GREEN {
public TrafficLamp nextLamp() {
return null;
}
},YELLOW {
public TrafficLamp nextLamp() {
return null;
}
};
public abstract TrafficLamp nextLamp();
}
}
谁能解释下上面红色代码块为什么这样定义?
枚举类 默认的是 抽象类吗?
RDE为什么可以这样实现内部类?
下面这种情况和上面不是一样的吗?为什么就报错呢?
abstract class AbsDemo
{
new AbsDemo()
{
void show()
{
System.out.println("show run");
}
}.show();
abstract void show();
}
作者:
彭润生
时间:
2012-9-26 12:11
abstract class AbsDemo
{
AbsDemo ad = new AbsDemo(){//
这样就可以了吧,你是模拟那个枚举,枚举也要有枚举的常量,那个ad就是的。我也不是十分的了解,可以到网上查查看看。
void show()
{
System.out.println("show run");
}
};
abstract void show();
}
作者:
黑马杨晨
时间:
2012-9-26 13:01
十万火急
作者:
罗磊
时间:
2012-9-26 13:24
public class EnumTest
{
public static void main(String[] args)
{
}
public enum TrafficLamp //枚举类 默认的是 抽象类吗?//
按照老师说的!带抽象方法的类,一定是抽象类!好像可以说明这个类是抽象类!
{
RED {
public TrafficLamp nextLamp() {//
这里是定义了对象,并实现了抽象方法!
return null;
}
},GREEN {
public TrafficLamp nextLamp() {
return null;
}
},YELLOW {
public TrafficLamp nextLamp() {
return null;
}
};
public abstract TrafficLamp nextLamp();
}
}
谁能解释下上面红色代码块为什么这样定义?
枚举类 默认的是 抽象类吗?
RDE为什么可以这样实现内部类?
下面这种情况和上面不是一样的吗?为什么就报错呢?
abstract class AbsDemo
{
new AbsDemo()
{
void show()
{
System.out.println("show run");
}
}.show(); //
对应这个问题!我觉得 应该把.show()去掉!才可和枚举具有可比性!
abstract void show();
}
作者:
黑马杨晨
时间:
2012-9-26 13:33
罗磊 发表于 2012-9-26 13:24
public class EnumTest
{
public static void main(String[] args)
abstract class AbsDemo
{
new AbsDemo()
{
void show()
{
System.out.println("show run");
}
}.show();
abstract void show();
}
复制代码
枚举对象可以实现自己抽象类的匿名对象,普通的抽象类怎么不可以呢?比如这段代码编译时就是错误的!
作者:
黑马杨晨
时间:
2012-9-26 14:44
{:soso_e154:}此题不会,心情郁闷,茶不思饭不想!
作者:
黑马杨晨
时间:
2012-9-26 16:23
{:soso_e123:}此题不会,心情郁闷,茶不思饭不想!{:soso_e123:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2