JAVA抽象类为什么不能用构造方法直接创建对象?

 我来答
liqiaoyuan
2018-03-19 · TA获得超过281个赞
知道答主
回答量:101
采纳率:0%
帮助的人:74.2万
展开全部
抽象类不象具体类那样描述一类具体事物,它是提取多种具有相似性的具体事物的共同特征而产生的,比如,helicoptor, jet, fighter父类plane,有start(),takeOff(),speedUp(),changeDirection()等方法,这是共性,但现实中有一个具体的plane吗?没有,它是抽象出来的,根本不存在。所以实例化一个plane是没有意义的,因此面向对象程序设计机制禁止对象实例化
小周爱唠叨
高粉答主

2018-05-29 · 说的都是干货,快来关注
知道小有建树答主
回答量:966
采纳率:100%
帮助的人:33.3万
展开全部

它是抽象出来的,根本不存在。所以实例化一个plane是没有意义的,因此面向对象程序设计机制禁止对象实例化。

在抽象类中可以有构造方法,只是不能直接创建抽象类的实例对象,但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hkylliu
2018-03-19 · TA获得超过5855个赞
知道小有建树答主
回答量:63
采纳率:0%
帮助的人:4万
展开全部

家里的狗狗总是抓身上的痒、掉毛厉害、有时候还有皮屑如何解决?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三只熊47
2018-02-01 · TA获得超过125个赞
知道答主
回答量:82
采纳率:0%
帮助的人:44.3万
展开全部
抽象类可以声明对象,但是不能使用自身的构造方法创建对象,但是可以使用子类的构造方法进行创建。
public abstract class A{}
public class B extends A{}

A a = new B();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式