zoukankan      html  css  js  c++  java
  • 继承中的一些问题,方法变量重名等……

    变量名重名

    局部变量:直接写成员变量名。,优先就近

    本类的成员变量: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年惊喜的铺垫吧,天冷了多喝热水

                                                                        

     

  • 相关阅读:
    高德地图API1.4.15较1.4.12的marker属性取值发生变化
    Cesium加载地图提示RangeError:Invalid of array List
    layui分页功能使用——点页码再查询
    设置layui的自定义样式
    页面引入layui.js后提示layui未定义
    SQL语句出现sql关键字
    vs2017 vs2019配置sqlite3连接引擎(驱动)指南(二)vs2019续集
    vs2017 vs2019配置sqlite3连接引擎(驱动)指南(一)vs2019篇
    Qt C++ QDataStream和QBuffer
    Qt C++不规则窗口
  • 原文地址:https://www.cnblogs.com/JiXianSen/p/12124862.html
Copyright © 2011-2022 走看看