mdsk.net
当前位置:首页 >> JAVA可以在子类中用this访问父类中的方法和属性么 >>

JAVA可以在子类中用this访问父类中的方法和属性么

当有相同的属性或者方法是this子类表示调用自己的属性或者方法,super调用父类的属性或者方法。当子类调用的属性方法在子类中不存在时,那么this和super都是调用父类的属性或者方法

如果父类的属性不是私有的并且没有geterseter方法,那么子类不能访问.其他的情况的话, 用this和super都可以方法到

class A{ public void print(){ System.out.println("I am class A."); } public void print(String name){ System.out.println("Hello "+name+", I am class A."); }} class Aa extends A{ public void printInfo(){ super.print("SubClass"); } }

通过super调用父类的方法 举例: public class Father{//定义父类 public void s(){//定义父类的方法s } } public class Son extends Father{//定义子类son,继承父类father public void s(){//定义子类的s方法,覆盖了父类的s方法 super.s();//...

回答你刚才追问的那部分: dialogInit(); this.dialogInit(); 这个是调用类中的方法(如果在子类中重载了dialogInit()这个方法,就是子类中的,如果没有就是直接调用父类中的方法,也就是等同于super.dialogInit();)

后面的问题没太明白……-----------------------存在继承关系是可以调用的,子类会继承父类的所有方法,除了构造方法,所以是可以的,属性也是可以的,只要用子类的实例对象去‘。’父类的属性或方法就可以了,但是,父类受私有的方法是调用不到的……...

区别不大 因为所有类如果没声明构造方法,默认是有个无参数构造方法 所以图片中其实是这样的,以子类BomBird构造为例子 public BomBird(ShoutAbility shout_ability){ super();//默认这里是省略的但是前提是父类有无参数构造方法 this.shout_abi...

希望采纳啊

多态。 如果说父类中有这个属性跟方法,子类有重写过,那么调用的是子类中的属性跟方法。 如果父类中没有这个属性跟方法,那么子类调用就会出错。 如果父类有这个属性跟方法,而子类没有,则调用的是父类的属性跟方法。

你把打印的结果拿来看下 ,而且父类型指向子类型不需要强制转换。 楼下的,子类中的age和父类中的age是同一个age? 楼主,应该是你的son没有覆盖age的定义,所以你的super.age和thsi.age都是用的父类的age,所以 public class FatherAndSon { pu...

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com