当前位置: 首页 > 知识库问答 >
问题:

如果抽象类不能实例化,那么这是什么代码:ABS clsAbs=new ABS(){[duplicate]

鄢博简
2023-03-14

我有一个关于抽象类的问题。

首先...我正在使用谷歌翻译器,对不起:(希望你能理解。

如果抽象类不能实例化,那么这段代码是什么:

public class Ppal {

public void start(){

    ABS clsAbs = new ABS() {

        @Override
        public void absMetod() {
        }
    };

    clsAbs.metod();
}
}
public abstract class ABS{

public void metod(){}
public abstract void absMetod();

}

它可以用作匿名类,但这个类(ABS clsAbs=new ABS(){...)不是匿名类。

提前非常感谢!

共有1个答案

吴鸿彩
2023-03-14

您正在实例化一个扩展类ABS的匿名类。您可以实例化这个匿名类,因为它定义了abs中的所有抽象方法(谢谢Nebelmann)

如果您创建一个类,如public class Foo extends abs,它实现了absMetoD()

您可以执行以下操作:abs bar=new Foo()

 类似资料:
  • 我知道类和抽象类的主要区别是,抽象类不能被实例化, 但是我可以为抽象类创建对象 我用新的关键字创建了抽象的对象 我有一些问题在 Inet 上没有正确的答案, new关键字是否用于实例类? 2)实例只不过是对象吗? 3)mEarth被称为物体(地球的实例)吗? 现在我可以调用任何方法(作为回调或作为值返回)mearth . sand();mearth . land();使用地球物体

  • 我查过了,发现最接近的是这个,除了我没有任何向前的声明。我在基类中只有一个纯虚函数,我在子类中实现它,如下所示: 命令H 命令cpp 数字H 数字cpp 发生文件错误: 一个dd.cpp 添加H

  • 做对了"。事实证明,可以用来表示任何类似ListT-dod-right的东西。引用加布里埃尔·冈萨雷斯的话: 请注意,您可以仅使用变压器依赖项构建任何(不仅仅是管道中的那个)。例如,下面是如何实现: 这将在那里键入check作为any,并为所有人做正确的事情。 所以我的问题是:对于管道的消费者部分,是否有一个对偶到和到? 要求: 从不使用,只返回(或从不返回),但使用的管道可以表示为“双重到列表”

  • 问题内容: 我明白: 由于抽象类本身并不是什么,例如车辆,我们想要创建一个具体实现的对象,例如Car,Bike等。 对象链期间将调用抽象类的构造函数。 我们永远不能直接创建抽象类的对象,即使它包含构造函数并且所有方法都已实现。 但是从编译器的角度来看,Java为什么要强制执行这些规则? 问题答案: 这不是技术限制,而是(如您所指出的)逻辑上的限制。Java(和许多其他语言)执行各种规则不是因为它们

  • 我正在尝试实现上面提到的解决方案,但是在这里,我得到了一个错误“RowMapper是抽象的,不能实例化”和“表达式的非法开始”。下面正是我所说的

  • 问题内容: 我知道,除了使用匿名类方法外,我们无法在Java中实例化接口或抽象类,但其背后的 原因 是什么? 问题答案: 您无法实例化接口或抽象类,因为它会违背面向对象的模型。 接口代表合同-接口实现者将能够做所有这些事情,履行合同的承诺。 抽象类是类似的想法,因为它们表示未履行的合同,是能够做事的承诺,除了与接口不同的是,它们定义了一些功能或字段,但需要在使用前进行填写。 简而言之,在一个好的面