2016 - 2024

感恩一路有你

在c语言中是什么意思 抽象类可以被实例化吗?

浏览量:2619 时间:2021-03-18 06:14:20 作者:admin

抽象类可以被实例化吗?

抽象类可以实例化:1。抽象类不能直接实例化,对抽象类使用new运算符是编译时错误。尽管有些变量和值在编译时可以是抽象类型,但这些变量和值必须为null或包含对从抽象类派生的非抽象类实例的引用。

2. 允许(但不要求)抽象类包含抽象成员。

3. 抽象类不能被密封。从抽象类派生非抽象类时,这些非抽象类必须实现所有继承的抽象成员,以便重写哪些抽象成员。在下面的示例中:抽象类a{public abstract void f()}AbstrB类:A{publicvoidG(){}}C类:B类抽象类a引入了抽象方法F。类B必须为类F提供一个抽象方法,但它也没有为类G提供一个抽象方法。类C重写F并提供一个具体的实现。因为C中没有抽象成员,所以可以(但不是必须)将C声明为非抽象类。

抽象类不能被实例化吗?

抽象类可以有自己的构造方法,但不能通过new直接实例化。但它可以被子类继承。当一个子类被实例化时,抽象类也将被实例化。上面这一个实际上是在抽象类中实例化和重新抽象抽象抽象方法,但是这一个有什么意义呢?

java中抽象类可以被实例化吗?

我们可以清楚地告诉您,Java中的抽象类不能实例化。

由于抽象类的目的与接口的目的相同,因此提取了一些类的公共操作,以提高代码重用,减少代码冗余。只是抽象类相对于接口可以有自己的非抽象成员。

当然,虽然抽象类不能实例化,但它们有构造函数。在这里,我们需要理解构造函数是用来在实例化对象时执行一些初始化操作的,而不是调用构造函数来实例化对象。抽象类中构造函数的作用就是让子类调用它的构造函数来初始化自己。

估计仍有许多人不知所措。让我写一个例子,我想很多人会理解的。

从以上结果,我们可以得出结论,抽象类不能实例化。

测试类2:实例化子类并将其赋给抽象类

从运行结果可以看出,抽象类的构造函数确实被调用了。

总之,在Java中,抽象类不能实例化,但有一个构造函数。构造函数的功能只是在实例化抽象类的子类时初始化抽象类。

在c语言中是什么意思 抽象类必须有抽象方法吗 一个类中可以有同名的方法吗

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。