• 网站刚刚上线,难免有不足的地方,敬请谅解!欢迎提出宝贵意见!

  •    3年前 (2015-07-29)  Java基础 |   1 条评论  125 
    文章评分 1 次,平均分 5.0
    [收起] 文章目录

    【Java基础】组合与继承 学习笔记

    一、继承

    继承就是一种由已有类创建新类,在已有类的基础上扩展功能。

    1、只能单一继承,即子类只能有一个父类,但是可以多层继承。

    2、子类中出现了同名称的成员变量,会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名成员变量。如果要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用。

    3、子类可以对父类的方法进行重写(即方法的返回类型、方法名、参数列表完全相同时,仅方法体不一样),子类对父类的方法重写之后,创建子类对象,直接调用的是子类重写的方法,这时要想调用父类的方法就要在子类方法中用到super.方法名(参数列表)。另有调用父类中被重写的构造方法时super语句要写在子类构造方法第一行。

    代码演示:

    运行结果:

    老子:哈哈,我是老子,不信你去百度翻译查‘老子’怎么翻译

    儿子:查了,老子是您“me”呀!

    老子:儿子,孙子在哪?

    儿子:说的跟儿子你有媳妇似的!

    儿子:我长大了,要用自己的方法

    老子:小子,你调用的是老子的方法

    儿子

    老子:哈哈,我是老子,不信你去百度翻译查‘老子’怎么翻译

    儿子

    对于无参数的父类构造器,会被子类默认调用;

    对于带参数的父类构造器,子类必须使用关键字super显示地调用,并配以适当的参数。

    子类覆盖父类方法,可以修改方法作用域修饰符,但只能把方法的作用域放大。

    父类只有有参数构造函数,子类在构造方法中必须要显示调用父类相应的构造函数,否则编译出错。

    静态方法和实例方法不能相互隐藏。

    有多层继承时首先根基类中的static初始化,然后是下一个导出类,以此类推,static初始化完成之后。然后实例变量和构造器从根基类到下一个导出类一步步初始化调用。

    二、组合

    在新类中产生现有类的对象,由于新类是由现有类的对象组成的,这种方法称之为组合。

    注意区分组合和继承:

    代码演示如下所示:

    运行结果:

    Custom constructor10

    Utensil constructor11

    Spoon constructor11

    Utensil constructor12

    Spoon constructor12

    Fork constructor12

    Utensil constructor13

    Spoon constructor13

    Fork constructor13

    Knife constructor13

    Plate constructor14

    DinnerPlate constructor14

    PlaceSetting constructor9

     

     

      
     

    本文原始地址:http://www.coderonline.net/java-based-combination-and-succession-study-notes.html

    本站所有文章,除特别注明外,均为本站原创,转载请注明出处来自http://www.coderonline.net/

    否则保留追究法律责任的权利!

    关于

    发表评论

    表情 格式
    1. 写的不错,要是代码风格再好一些就好了(缩进,换行)。

      leo 评论达人 LV.5 3年前 (2015-07-29) [0] [0]
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册