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

调用父类get set方法,super,跟this的用法区别

调用父类get set方法,super,跟this的用法区别

慕粉小蜗牛 2016-06-09 19:48:13
public Peoplecar(String carName,double price,int busLoad,double carGo){ //调用父类方法 this.setCarName(carName);是不是也可以用super.setCarName(carName);两者具体区别在哪,谢谢,不要百度啊,要自己理解的讲解
查看完整描述

2 回答

已采纳
?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

如果你子类里没有定义一个setCarName方法,那this.setCarName(carName); 跟super.setCarName(carName); 是一样的,都调用父类的方法。

如果你子类里有定义一个setCarName,那才有区别,this就调用自己的,super就调用父类的。


如果父类的setCarName是private的,那子类就不能访问到父类的setCarName,用super.setCarName()也不行的。要求是public 或 protected才能用super.setCarName()来访问。


查看完整回答
2 反对 回复 2016-06-10
  • 慕粉小蜗牛
    慕粉小蜗牛
    父类private但是是可以thissetcarname赋值的,get得到值,这个最后是不是错了
  • qq_青枣工作室_0
    qq_青枣工作室_0
    你private的是carName这个属性,但是setCarName和getCarName都是public的,那就可以用setCarName和getCarName啊,这个是没错的。
?
此生不变丶

TA贡献36条经验 获得超19个赞

this 指 本类对象。 super 指父类的对象。 我是这么理解的。 区别就是  super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。

查看完整回答
反对 回复 2016-06-09
  • 慕粉小蜗牛
    慕粉小蜗牛
    父类private后的get和set方法,在子类用this.setCarName(carName);可以,这是对的还是错的,还有在子类super.setCarName(carName);对吗?
  • 此生不变丶
    此生不变丶
    你可以自己先试试,我觉得是可以的。我也没试过,我也是初学者,
  • 2 回答
  • 0 关注
  • 2190 浏览

添加回答

举报

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