关于子类不能使用父类的构造方法和普通方法不能调用构造方法

关于子类不能使用父类的构造方法和普通方法不能调用构造方法

在2-13中和在之前java面向对象的2-8节(大约在第3min)老师用  类名();的方式说明子类不能使用父类的构造方法和普通方法不能调用构造方法,可是构造方法应该是: 类名 对象 = new 类名(); 而且这种构造方法可以在子类中调用父类的构造方法,也可以在普通方法中调用构造方法,希望老师解释。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕珊 2019-01-07 09:12:59

你好!

对于第一个问题:继承和调用是没有关系的,在Java中会通过super去调用父类的构造方法,如super()就是调用父类的无参构造方法

第二个问题,代码确实没有问题。这里注意两种写法,一种是Monkey();这样是不能调用构造方法的,而如果是普通方法这样调用是可以的。构造方法是在创建对象时调用的,也就是使用new关键字进行调用,所以另外一种写法Monkey one=new Monkey();是正确的。

祝学习愉快!

好帮手慕阿莹 2019-01-04 14:07:26

1、子类不能继承父类的构造方法,但是是可以调用父类的构造方法的。

2、本类中的普通方法是不可以调用本类的构造方法的,但是可以调用其他类的构造方法呦。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 精慕门8015484 #1
    1.什么叫子类不能继承父类的构造方法(既然能调用父类的构造方法,那不就是继承了父类的构造方法了吗?) 2.package test; public class Monkey { public void run() { Monkey one = new Monkey(); } } 这段代码是没问题的呀。
    2019-01-05 10:18:03
  • lee_李 回复 提问者 精慕门8015484 #2
    继承的成员就属于子类自身成员了 子类肯定能调用 但能调用的不一定就属于自身成员 子类的super方法 始终指向父类 构造方法不被继承 super() 是调用父类构造函数 super.变量 调用父类属性 super.方法名() 调用父类方法 ()都可以传参 感觉这些记住就行了 主要就是理解super 和this 的指向问题
    2019-01-08 23:54:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师