Mar*_*ake 1 java abstract-class class abstract
我有一个关于抽象类的问题.
首先......我正在使用谷歌翻译,对不起:(我希望你理解.
如果无法实例化抽象类,那么这段代码是什么:
public class Ppal {
public void start(){
ABS clsAbs = new ABS() {
@Override
public void absMetod() {
}
};
clsAbs.metod();
}
}
Run Code Online (Sandbox Code Playgroud)
ABS:
public abstract class ABS{
public void metod(){}
public abstract void absMetod();
}
Run Code Online (Sandbox Code Playgroud)
ABS clsAbs = new ABS () {...
这不是一个例子吗?可以使用clsAbs并且不能使用抽象类,只能创建抽象模型......
它可以用作匿名类,但这(ABS clsAbs = new ABS () {...
)不是匿名的.
非常感谢你提前!
Ren*_*tti 12
您正在实例化一个正在扩展的匿名类class ABS
.你可以实例化这个匿名类,因为它定义了所有的抽象方法ABS
(Thanks Nebelmann)
如果你创建一个类public class Foo extends ABS
实现的类是相同的absMetod()
你可以这样做: ABS bar = new Foo()