浅聊继承

    技术2022-07-10  156

    继承

    1、继承:共性抽取一个父类,让子类继承,可以继承父类的属性、方法,也可以重写父类的方法(行为)

    1、格式 public class 子类 extends 父类{

    ​ }

    下面就表示一个学生类继承了人类的共有特征

    public class Student extends Person { } public class Student extends Person { //属性 String name; int age; String sex; String level; public class Person { String name; int age; String sex;

    从上面可以看出学生类拥有人类的共有属性,所以共有的属性,学生类可以不写。即学生类是子类,人类是父类。

    2、例如:父类的方法

    public void work(){ System.out.println("每个人不同,工作不同"); }

    子类可以选择继承父类的方法,也可以自己选择方法;即重写。如下图:

    public void work(){ System.out.println(this.name + "好好学习,天天向上"); }

    2、重载与重写的区别

    重载:

    1、在一个类中

    2、方法名相同

    3、参数(类型不行,个数不同)

    重写规则:

    1、方法名和参数必须一致

    2、注解@Override重写 检测是否重写

    3、返回值类型必须【小于等于】父类方法的返回值(如:object>int等);

    4、权限必须【大于等于】父类方法的权限

    ​ a. public公开的公共的,最大权限

    ​ b. protrcted受保护的

    ​ c. (default)默认权限

    ​ d. private私有的

    3、继承的先后顺序

    继承的时候,先查找本类,然后查继承链,如果都没有就编译报错。查询继承链,使用超类中的属性。

    1、java语言的继承属于单继承,虽然不存在多继承,但是存在接口interface连接。如下:

    public class Student extends Person implements Test{ }

    2、所有没有继承链的类都会默认去继承Object继承关系中的类加载顺序:先父类后子类,先静态(属于整个类的,范围比较大)后成员(new对象的成员属性)

    4、super关键字的使用

    1、加载构造器

    ​ a、子类的构造器会默认加载父类的构造器,通过super();即在子类调用无参构造器的时候,也会去调用父类无参构造器。

    ​ b、构造器只能调用一次,不可调用多次

    ​ c、调用构造器的行为必须写在第一行

    2、调用父类成员变量super.变量

    3、调用父类成员方法super.方法()

    5、this关键字的使用

    1、加载构造器

    2、调用自己的成员变量this.变量

    3、调用自己的成员方法this.方法()

    6、总结

    1、java语言只支持单继承

    2、java语言支持多级继承

    3、父类可以有多个子类,子类之间相互之间是兄弟类

    Processed: 0.042, SQL: 9