这段代码是创建抽象类对象还是匿名类对象? 请告诉我。我在这里有点困惑。
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());
}
}
最佳答案
您创建一个匿名类来扩展您的抽象类。
在下面的片段中,您正在扩展 AbstractDemo
并为其抽象方法提供实现。
new AbstractDemo() {
@Override
void showMessage() {
// TODO Auto-generated method stub
}
@Override
int add(int x, int y) {
// TODO Auto-generated method stub
return 0;
}
};
关于java - 创建抽象类或匿名类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16785922/