为了账号安全,请及时绑定邮箱和手机立即绑定

大大们,问个困扰许久的问题,构造方法的作用到底是什么?

大大们,问个困扰许久的问题,构造方法的作用到底是什么?

泷木 2019-09-01 20:34:25
之所以这么问,是因为网上查到了两种说法,一个说构造方法的作用是分配内存,创建对象,另一个说法是构造方法是给已经创建好的对象中的成员变量进行初始化对第一种说法有几个疑点:如果构造方法是用来创建对象的,无法解释抽象类中为什么存在构造方法看到很多资料中说接口中不允许有构造方法的原因,是接口不能被实例化,可这种说法与上一个疑问有冲突,抽象类也无法被实例化,但它就有构造方法个人比较倾向于第二种,就是构造方法的作用是给类中的变量进行初始化的,这种说法能够解释上边两个疑点,因为构造方法的作用是给变量进行初始化,所以抽象类中有构造方法,因为它有成员变量,需要进行初始化,同样的,接口中不存在构造方法,所以它没有变量,只允许final修饰的常量,因为常量不需要构造方法进行初始化当然,以上也只是逻辑分析,根本没有代码支持,有人说需要去学一下JVM,里边有解释,可是JVM好难啊,看的头晕QwQ,只能可耻的做一次伸手党了,就想问下我这么理解对不对先行拜谢!
查看完整描述

2 回答

?
Sicimike

TA贡献2条经验 获得超2个赞

构造函数作用是成员变量的初始化。

抽象类就是用来继承的,子类实例化时,需要调用父类构造方法来初始化父类中的成员变量,抽象类中也可能有成员变量。所以抽象类中必须支持构造函数。

查看完整回答
1 反对 回复 2019-09-02
?
泷木

TA贡献3条经验 获得超1个赞

额,刚刚一个老程序员跟我说,抽象类里边的构造方法创建的是子类的对象?,该听哪个啊

查看完整回答
反对 回复 2019-09-01
  • 2 回答
  • 0 关注
  • 696 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信