美文网首页
Java_basic_8: 继承

Java_basic_8: 继承

作者: DiscoSOS | 来源:发表于2017-10-10 04:43 被阅读0次

    继承

    继承的特点

    • 子类,父类
    • 单继承(一个子类只有一个父类)
    • 父类中private 的属性不能被继承

    继承的好处

    • 子类拥有父类的所有属性和方法
    • 实现代码的复用

    继承的语法

    • class 子类 extends 父类{}
    • 关键字 extends
    class Dog extends Animal{
    //
    
    }
    

    继承的初始化顺序

    • 初始化superclass 再 初始化subclass
    • 先初始化对象中的属性,再执行构造方法中的初始化
    • e.g. 当我们创建一个子类对象时,这其中的初始化顺序是:
      父类对象初始化——> 父类属性初始化——> 父类构造方法执行——>子类对象初始化——>子类属性初始化——>子类构造方法执行

    final 关键字

    • final 关键字可以修饰 类、 方法、属性和变量
    • final 修饰 class, 则该类不能被继承
    • final 修饰 method, 则该方法不能被覆盖(重写)override
    • final 修饰 parameters, 则该类的属性不会进行隐式的初始化(及该属性的初始化必须有值)或者在构造方法中赋值(两种只能选其一)
    • final 修饰变量,则该变量只能被赋值一次,即成为一个常量

    super 关键字

    • super 关键字常用在对象内部,可以用来代表父类对象
    • 访问父类的属性 e.g. super.age
    • 访问父类的方法 e.g. super.eat()
    • super 的应用
      -- 子类的构造过程中必须调用父类的构造方法
      -- 如果子类的constructor中没有显式的调用父类的构造方法,则系统默认调用父类的无参构造方法
      -- 如果显示的调用构造方法,则调用语句必须放在子类构造方法的第一行
      -- 如果子类的构造方法中既没有显示的调用父类构造方法,而父类中也没有无参构造方法,则会编译出错

    Object 类

    • Object 类是所有类的父类,如果一个类没有用extends明确标识继承于哪个类,则它默认继承Object类
    • Object 类中的方法适用于所有子类

    Object类中的几个重要方法

    toString() 方法

    • Object 类中的toString方法: 返回对象的哈希code码(对象的地址字符串)
    • 可以重写toString() 方法表示出对象的属性
      code->generate

    equals() 方法

    • 返回值是boolean型 true or false, 所以一般可以和if语句配合
    • 比较的是对象的引用地址是否相同(是否指向同一块内存地址)
    • 如果要比较两个对象的值是否相等,则可以重写

    相关文章

      网友评论

          本文标题:Java_basic_8: 继承

          本文链接:https://www.haomeiwen.com/subject/aobmyxtx.html