gpt4 book ai didi

java - 抽象类初始化

转载 作者:行者123 更新时间:2023-12-01 08:13:06 27 4
gpt4 key购买 nike

我有一个抽象类:

abstract class Shape {

public String color;
public Shape() {
}
public void setColor(String c) {
color = c;
}
public String getColor() {
return color;
}

public double area() {
return 0;
}
}

它提供非抽象方法,然后我想像这样初始化它:

     Shape object = new Shape();

所以在初始化时,它仍然给我一个错误,但为什么呢?如果我在类中提供一个抽象方法,那么该类无法初始化是可以理解的。在这种情况下,为什么仍然报错呢?任何帮助将不胜感激

最佳答案

initialization its still giving me an error but why

因为类是抽象的。抽象类无法直接实例化,无论它是否具有抽象方法。来自JLS section 8.1.1.1 :

It is a compile-time error if an attempt is made to create an instance of an abstract class using a class instance creation expression (§15.9).

如果您没有任何抽象方法并且希望能够直接实例化该类,请将该类设置为非抽象类。将没有抽象方法的类抽象化的唯一原因是强制使用具体的子类。

关于java - 抽象类初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15803375/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com