抽象类可以被实例化吗??
发布网友
发布时间:2022-04-29 20:38
我来回答
共4个回答
热心网友
时间:2022-06-22 11:34
可以被实例化
抽象类的特点:
1、抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。
2、允许(但不要求)抽象类包含抽象成员。 3、抽象类不能被密封。 当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员,从而重写哪些抽象成员。在下边的示例中: abstract class A{ public abstract void F();} abstract class B: A{ public void G() {}} class C: B{ public override void F() { // actual implementation of F }} 抽象类 A 引入抽象方法 F。类 B 引入另一个方法 G,但由于它不提供 F 的实现,B 也必须声明为抽象类。类 C 重写 F,并提供一个具体实现。由于 C 中没有了抽象成员,因此可以(但并非必须)将 C 声明为非抽象类。
热心网友
时间:2022-06-22 11:34
不可以!追问那为什么抽象方法会有构造方法呢
热心网友
时间:2022-06-22 11:35
抽象类是不能被实例化的,因为抽象类本身就没有具体的方法体,它只是一个定义
热心网友
时间:2022-06-22 11:35
可以啊,抽象类实例化后就是一个实例了,就不再是抽象类了