gpt4 book ai didi

java - 实例化抽象类的子类

转载 作者:行者123 更新时间:2023-12-01 23:18:49 24 4
gpt4 key购买 nike

如何实例化抽象类的子类?它给出了错误——没有抽象类类型的封闭实例是可访问的。无论我如何交换值(value)观。我知道我不能使用机动车辆,因为抽象类无法实例化......

public class abstractclass {
public static void main(String args[]){

Car car1 = new Car();

}
abstract class MotorVehicle
{

int fuel;


int getFuel()
{
return this.fuel;
}


abstract void run();


}

class Car extends MotorVehicle
{
void run()
{

System.out.print("Wrroooooooom");
}


}
}

最佳答案

它不会让您实例化它们,因为您已将它们声明为内部类。在类声明之前添加 static,您就可以做到这一点:

class Outer {

class Inner {

}

static class Nested {

}
}

如果嵌套类是内部(非静态),则它属于外部类的实例,而不是外部类本身。内部类需要外部类的实例才能实例化。静态嵌套类则不然。

Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
Outer.Nested nested = new Outer.Nested();

参见Nested Classes教程。这就是“无封闭实例”消息的含义。你是对的,抽象类不能直接实例化,但 Car 不是抽象的。

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

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