Java学习——继承和多态

来源:互联网 发布:阿里云设置MX 编辑:程序博客网 时间:2024/06/06 00:51

1. 在Java中,一个类只能继承一个类称为单继承。但一个超类可以派生出多个子类,从未形成具有树形关系的结构。一个类只能继承一个父类,称为单继承。

2. 子类继承父类的成员变量,除构造方法之外的成员方法,可以重新定义父类成员。

3. 子类不能在自己声明的方法中访问父类所有成员变量或成员方法。对父类private成员没有访问权限。对父类public和protected成员具有访问权限。子类对父类的缺省权限成员访问权限分两种情况:同一包中有,其他包中无。

类中成员访问权限总结:仅限于自己类中使用为private,允许子类使用protected,允许所有子类使用为public。

4. 当子类中没有声明与父类同名的成员变量时,引用父类的成员变量可以不使用super,但当子类中声明了与父类同名的成员变量时,为了引用父类的成员变量,必须使用super,否则引用的是子类中的同名成员变量。调用方法时同理。

5. super和this引用:在子类中可以声明和父类同名的成员变量及成员方法,为了指明是引用父类中的成员可以使用super关键字,为了指明是引用子类中的成员可以使用this关键字。

6. 调用父类构造方法:在子类的构造方法中,可以通过super调用父类的构造方法,其调用形式如下:super(参数表) 参数表由父类构造方法参数表决定,并且super()必须是子类构造方法体中的首条语句。

7. 当成员方法中没有与成员变量同名的参数时,this可以省略。否则不能省略。

8. 多态:多态性指同一名字的方法可以有多种实现,即不同的方法体,通过方法的重载和覆盖来实现。

9. 重载:在一个类中,多个方法具有相同的方法名,但却有不同的参数表,成为方法的重载。变现为参数个数不同或参数类型不同或参数顺序不同。

10.覆盖:覆盖表现为父类和子类之间方法的多态性。如果父类中的方法体不适合子类,子类可重新定义它。子类中的方法与父类中的方法具有相同的方法名和参数表,但具有不同的方法体。父类和子类具有同名方法,称子类方法覆盖了父类方法。

11.Final关键字:可以修饰类和类中的成员变量和成员方法使其不能被继承和覆盖,final修饰的成员变量不能被修改。

0 0