继承

子类继承父类的功能 extends 父类的名称

举例:人 ==》 男人 女人 打工人 ==》 经理 老板

父类 舅舅

public class Uncle {
    private String name;
    private int age;
    // getter  setter
    public void setName (String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    // 发红包
    public void sendHongbao() {
        System.out.println("舅舅在发红包");
    }
}

子类:大舅

public class UncleOne extends Uncle{

    public void chouyan(){
        System.out.println("大舅喜欢抽烟");
    }

}

子类:二舅

public class UncleTwo extends Uncle{
    public void drinkWine() {
        System.out.println("二舅喜欢喝酒");
    }
}

子类只能继承自一个父类,不能继承多个父类 多重继承(不允许)

// 错误代码
public class UncleThree extends Uncle , UncleOne{
}

子类 多层继承

// 多层继承
public class UncleOneSon extends UncleOne{
}

在继承中类加载的顺序

先创建父类,再创建子类

父类的构造方法先于子类的构造方法调用

 public UncleOne() {
        super();  // 调用父类的构造方法
        System.out.println("子类大舅的构造方法被创建了");
    }

方法的复写(覆写)override

  @Override
    public void sendHongbao() {
        System.out.println("大舅家道中落,红包只有1毛钱");
    }

如果子类没有复写父类的方法,调用的是父类的

如果复写了父类的方法,在调用时优先调用子类复写后的方法

要求

1 方法的签名完全一致

2 方法体不同

Final

1 修饰的内容不可以发生改变

1.1 修饰的是基本数据类型,其值不可以发生改变

1.2 修饰的是引用数据类型,引用的地址不能发生改变(不能指向新的空间),但是原本引用的空间中的值是可以发生修改的

你可能感兴趣的:(继承)