Java面向对象程序设计

类的继承

  1. 要点

    1. 在继承中
      1. -子类可以得到父类可继承的属性和方法。
      2. -子类可以添加新的属性和方法。
      3. -子类可以重新定义父类的属性和方法。
  2. 在类的继承中,需要注意的一些问题

    1. 在Java中,类只支持单继承,不允许多重继承,也就是说—个米口能右—个直接父类

    2. 多个类可以继承一个父类。

    3. 在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。

    4. 注意:在Java中,子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以是另一个类的子类。例如上面的示例中,B类是A类的子类,同时又是C类的父类。

  3. 要点·子类只能继承父类中可访问的属性:

    1. 父子类在同一个包中,子类可以继承父类中的非私有属性。
    2. 父子类不在同一个包中,子类可以继承public类中的public属性和protected属性。

属性的隐藏

  1. 要点

    1. 子类可以重新定义与父类同名的属性,称为属性隐藏。

重写父类方法

  1. 在继承关系中,子类会自动继承父类中定义的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写。

  2. 需要注意的是,在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。

super关键字 注意事项

  1. super关键字使用
    1. -通过super调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次。
    2. -在子类的构造方法中通过super指定调用父类的某个构造方法,如果没有指定,在实例化子类对象时,会自动调用父类无参的构造方法。
    3. -被调用的父类构造方法,必须是非private的。

final关键字

  1. final关键字可用于修饰类、变量和方法,它有“无法改变”或者“最终”的含义,因此被final修饰的类、变量和方法将具有以下特性:

    1. final修饰的类不能被继承,也就是不能够派生子类。
    2. final修饰的方法不能被子类重写。
    3. final修饰的变量(成员变量和局部变量)是常量,只能赋值一次。

Object类

  1. 在JDK中提供了一个0bject类,它是类层次结构的根类,每个类都直接或间接继承自该类。如果一个类没有显式地指明其父类,那么它的父类就是0bject。所有对象(包括数组)都实现了这个类的方法。

  2. Object类中常用方法

    1. 方法名称 方法说明
      equals() 指示其他某个对象是否与此对象“相等”
      getClass() 返回此Object的运行时类
      hashCode() 返回该对象的哈希码值
      toString() 返回该对象的字符串表示