变量名重名
局部变量:直接写成员变量名。,优先就近
本类的成员变量:this.变量名
父类的成员变量:super.变量名
父类代码: 子类代码:
因为this是指当前类,而super指的就是父类所以根据代码所示一个也可以理解,如果有什么不理解的可以私信,和留言博主,新手上路,请务必善待,
继承中成员方法的访问特点
1.在父子类的继承关系当中,创建子类对象,访问成员方法的规则:
就是如果新建的是子类对象,那么就先去子类找这个重名的方法,能找到则用子类方法当中重名方法,如果在子类找不到那么就去继承关系哪找,也就是去父类那里找这个重名方法,如果都找不到那自然就是报错了如:ZI zi=new ZI();
zi.重名方法,这个创建的是子类的对象,那么肯定就是先去子类找,如果子类没有就去父类,如果在父类还找不到重名方法那么就该看看是不是自己代码写错了。
2.注意事项:
无论是成员方法还是成员变量如果没有都是向上找父类的,没有向下去找子类的。
继承中的方法重写
重写(override)概念:就是在继承关系当中,方法的名称一样,参数列表也一样,这样就产生了方法的重写。覆盖/覆写
覆盖(overload)概念:方法名称一样,方法中的参数或者返回值类型不一样。
方法覆盖重写的特点:创建的是子类对象,则优先用子类对象。
继承方法中的覆盖重写的注意事项:
1.必须保证父类和子类当中之间的方法名称一样,参数列表也一样,@Override:这个东西是用来检测方法是不是成功重写了,这个东西不写,满足重写条件,也是会方法重写的,但是我个人建议呢写上这个单词,这是用来检测的,万一小手一抖没有重写成功呢
2.子类方法的返回值类型必须小于父类方法的返回值范围,String有一个父类是Object是所有类的公共最高类称之为祖宗类都不为过,String就是这个祖宗类的子类。
3.子类方法的权限修饰符必须大于或等于父类的权限修饰符,权限修饰符(public·private等)小扩展:public>default>private;default他不是关键字,他代表的是什么都不写
继承中方法的覆盖重写
1.在什么情况下需要这个方法重写?
答:比如原来的诺基亚手机只有这么几个功能,十年后智能手机出来了,但是只能手机跟老款手机一样,都有来电显示什么的,这样就需要保留,只加一点新的东西即可,这种情况就用到了我们的方法覆盖重写
好了,今天的课程结束了,如果觉得帮到了大家让大家懂了点知识以后也可以每天来我这浏览文章,我会每天都发布并且更新的,如果我有什么地方讲错了或者哪些地方讲的不好希望有个大神来点点我。
祝大家2019没有任何遗憾,如果有就让这2019的遗憾全都成为2020年惊喜的铺垫吧,天冷了多喝热水