我的程序中有一个抽象类。如何在 Java 中使用“super”关键字? [关闭]
Posted
技术标签:
【中文标题】我的程序中有一个抽象类。如何在 Java 中使用“super”关键字? [关闭]【英文标题】:I have an abstract class in my program. how do I go about using the 'super' keyword in Java? [closed] 【发布时间】:2022-01-22 13:19:41 【问题描述】:我正在构建一个项目,我有一个抽象类。而且不知何故我无法从抽象类继承任何代码
enter code here
public class Novel extends Book
//Class definition
//Constructor
public Novel()
super(String bookNum, int ISDN, String name, String publisher, double price);
//Operations
@Override
public double getPrice()
int price = 300;
return price;
【问题讨论】:
您选择不显示此代码是否有某些原因?我们怎么知道你做错了什么?你猜? 你扩展了抽象类吗?如果有,抽象类中的实例变量和方法是私有的吗? 【参考方案1】:如果一个类被声明为抽象的,它就不能被实例化。 换句话说: 普通类不能继承抽象类。
【讨论】:
这是不正确的。事实上,一个普通的类必须从一个抽象类继承,这样一个类才能被实例化。 这是不正确的,如果您不希望类被实例化但您希望其他类extends
它,则声明 class
和 abstract
。假设 'Animal' 是抽象的,如果 Dog
是 Animal
的孩子,您也可以调用 Animal animal=new Dog();
。对 Dog 类实例的引用分配给 Animal 引用(例如,Dog
内存地址(0xDEADBEEF
)转到 animal
引用)。以上是关于我的程序中有一个抽象类。如何在 Java 中使用“super”关键字? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章