Java 如果抽象类不能被实例化,那么这个代码是什么:ABS clsAbs=new ABS(){
我有一个关于抽象类的问题 首先…我正在使用谷歌翻译,对不起:(我希望你能理解 如果抽象类无法实例化,那么这段代码是什么:Java 如果抽象类不能被实例化,那么这个代码是什么:ABS clsAbs=new ABS(){,java,class,abstract-class,abstract,Java,Class,Abstract Class,Abstract,我有一个关于抽象类的问题 首先…我正在使用谷歌翻译,对不起:(我希望你能理解 如果抽象类无法实例化,那么这段代码是什么: public class Ppal { public void start(){ ABS clsAbs = new ABS() { @Override public void absMetod() { } }; clsAbs.metod(); } } ABS: ABS-clsAbs=new-AB
public class Ppal {
public void start(){
ABS clsAbs = new ABS() {
@Override
public void absMetod() {
}
};
clsAbs.metod();
}
}
ABS:
ABS-clsAbs=new-ABS(){…
这不是一个实例吗?可以使用clsAbs
抽象类不能使用,只能创建抽象模型
它可以用作匿名类,但这个(ABS-clsAbs=new-ABS(){…
)不是匿名的
非常感谢!您正在实例化一个匿名类,该类扩展了
类ABS
。您可以实例化这个匿名类,因为它定义了ABS
中的所有抽象方法(感谢Nebelmann)
如果您创建一个类(如public class Foo extensed ABS
)来实现absMetod()
您可以这样做:
ABS bar=new Foo()
您正在实例化一个匿名类,它扩展了类ABS
。您可以实例化这个匿名类,因为它定义了ABS
中的所有抽象方法(感谢Nebelmann)
如果您创建一个类(如public class Foo extensed ABS
)来实现absMetod()
您可以这样做:
absbar=newfoo()
您需要了解的是
ABS clsAbs = new ABS() {
@Override
public void absMetod() {
}
};
在创建扩展
ABS
class的匿名类时,您正在实现抽象方法absMetod()
ABS clsAbs = new ABS() {
@Override
public void absMetod() {
}
};
在创建扩展
ABS
class的匿名类时,您正在实现抽象方法absMetod(),您可以实例化这个匿名类,因为它定义了ABS中的所有抽象方法。明白了,我必须看到ABS clsAbs=new ABS(){…作为一个扩展另一个抽象的普通类,而不是作为ABS的实例。如果你问我一个抽象类是否可以被实例化,我会回答否。正确吗?完美!你理解这个概念。欢迎你!如果它解决了你的问题,你可以接受答案。你可以实例化这个匿名类,因为它定义了所有e ABS中的抽象方法。理解,我必须看到ABS clsAbs=new ABS(){…作为一个扩展另一个抽象的普通类,但不是作为ABS的实例。如果你问我一个抽象类是否可以实例化,我会回答否。正确吗?完美!你理解这个概念。不客气!如果它解决了你的问题,你可以接受答案。那么,这是否意味着clsAbs是一个匿名类?clsAbs是anonymous ClassUnderstand,非常感谢!!那么,这是否意味着clsAbs是一个匿名类?clsAbs是anonymous ClassUnderstand的对象,非常感谢!!