【发布时间】:2013-05-28 07:13:59
【问题描述】:
在这段代码中是创建抽象类还是匿名类的对象? 请告诉我。我在这里有点困惑。
public abstract class AbstractDemo {
abstract void showMessage();
abstract int add(int x,int y);
public int mul(int x,int y){
return x+y;
}
public static void main(String[] args) {
AbstractDemo ad = new AbstractDemo() {
@Override
void showMessage() {
// TODO Auto-generated method stub
}
@Override
int add(int x, int y) {
// TODO Auto-generated method stub
return 0;
}
};
System.out.println(ad.mul(10, 12));
System.out.println(ad.getClass());
}
}
【问题讨论】:
-
您是否尝试编译此代码?结果如何?
-
请注意,您正在覆盖抽象方法。这是一个匿名类。
-
输出为 22 类 com.mj.javademo.AbstractDemo$1
-
您的最后一个问题是什么?你只想知道
ad是一个匿名类吗?