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的对象,非常感谢!!