java中抽象类可以被实例化吗?
我们可以明确告诉你,Java中的抽象类不可被实例化。
因为抽象类的目的跟接口是一样的,将某一些类的共有操作进行抽取,从而提高代码的重用,减少代码冗余。只不过抽象类相对于接口而言,可以拥有自己的非抽象成员罢了。
当然,抽象类虽然不能被实例化,但却有构造器,这里我们需要明白一点,构造器是用来在对象实例化时进行一些初始化操作,而不是通过调用构造器来对象进行实例化。而抽象类中构造器的作用仅仅是为了让子类在初始化的时候可以调用其构造器来对自己进行初始化。
说这么多,估计很多人还是一头雾水,我写个例子我想应该就有很多人明白了。
抽象类:狗类
实体类:金毛
测试类一:直接实例化抽象类
从以上结果我们可以得出,抽象类是不可被实例化的。
测试类二:将子类实例化后赋给抽象类
从运行结果我们可以知道,抽象类的构造器确实被调用了。
综上所述,在Java中抽象类不可被实例化,但却存在构造器,构造器的作用仅仅是在其子类实例化时对抽象类进行初始化。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有