2-3:老师,void是基本数据类型吗? Dog类里的eat()方法是不是即是重载又是重写呢?

2-3:老师,void是基本数据类型吗? Dog类里的eat()方法是不是即是重载又是重写呢?

void是基本数据类型吗? Dog类里的eat()方法是不是即是重载又是重写呢?

正在回答

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

3回答

同学你好。

        1、是不是父类的私有属性,子类也拥有,就是不能直接访问,要通过公有方法进行间接访问。  

        父类的私有属性,子类可以继承下来,继承后它就是子类自己的属性。在子类访问父类属性时,子类可以通过父类的公有方法来间接访问父类的私有属性。

        2、子类中的构造方法里的super()是不是调用了父类的构造方法,然后子类初始化了父类的成员属性,然后这个子类就拥有了父类成员属性?

        子类中的构造方法里的super()是调用了父类的构造方法,但是在调用构造方法创建对象时,肯定是为子类自己的属性赋值,包括从父类继承下来的属性。这里要注意类的继承和创建对象的区别。

     父类的私有属性,子类可以继承下来,比如:儿子继承了父亲的眼睛和鼻子的特征,但是创建儿子对象后,肯定是儿子的眼睛和鼻子,这个眼睛和鼻子不属于父亲。

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

好帮手慕小班 2020-08-12 17:32:08

同学你好,1、Dog类中的两个eat方法也是可以理解为是对方法的重载,因为这两个eat方法符合方法名相同,参数列表不同。

http://img1.sycdn.imooc.com//climg/5f33b61e09cdab3b07350471.jpg

    2、子类不能继承父类的私有属性,但是getName方法是Animal类中public修饰是公有的方法,所以子类是可以继承的。

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

  • 提问者 超级金甲战士 #1
    1.是不是父类的私有属性,子类也拥有,就是不能直接访问,要通过公有方法进行间接访问。 2.子类中的构造方法里的super()是不是调用了父类的构造方法,然后子类初始化了父类的成员属性,然后这个子类就拥有了父类成员属性?
    2020-08-12 18:19:23
好帮手慕小班 2020-08-12 15:48:10

同学你好,void是空,在方法声明的时候表示该方法没有返回值。

在Dog中的eat方法其实是方法重写,比如:

Animal中:

http://img1.sycdn.imooc.com//climg/5f339e710994669a08200286.jpg

Dog类

http://img1.sycdn.imooc.com//climg/5f339e8209f4950109170301.jpg

如上所示,符合方法重写的条件,所以这里是方法重写。

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

  • 提问者 超级金甲战士 #1
    那Dog里的 public void eat(){} 和 public void eat(){} 是重载吗?
    2020-08-12 15:58:22
  • 提问者 超级金甲战士 #2
    这里面子类不能继承父类的私有属性,那么这里的this.getName()获取的Name是什么??
    2020-08-12 16:00:49
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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