java之继承

继承(Inheritance):一个类可以继承另一个类的属性和方法(不支持多继承),这个被继承的类称为父类(或超类、基类),继承它的类称为子类(或派生类)。
关键字:extends

public class Parent {
}
public class Son extends Parent {
}

访问控制
public:公共成员,任何类都可以访问。
protected:受保护成员,子类和同一个包内的类可以访问。
default(无修饰符):包私有成员,同一个包内的类可以访问。
private:私有成员,只有类本身可以访问,子类不能直接访问,但可以通过父类的内置函数间接修改。

在这里插入图片描述

public class Parent {
    public String name;
    protected char sex;
    String address;
    private int age;
    public void setAge(int age){
        this.age = age;
    }

    @Override//重写一下便于打印操作
    public String toString() {
        return "Parent{" +
                "name='" + name + '\'' +
                ", sex=" + sex +
                ", address='" + address + '\'' +
                ", age=" + age +
                '}';
    }
}
public class Son extends Parent {

    Son(){
        name = "abc";
        sex = 'M';
        address = "kkk";
       // age = 18;
       setAge(18);

    }
}

方法重写(Override)
方法重写:子类可以重写父类的方法,使用相同的方法名、参数和返回类型。
@Override 注解:用于标记一个方法是重写父类的方法,增强代码的可读性和可靠性。

public class Parent {
    public void print(){
        System.out.println("hello");
    }
}
public class Son extends Parent {

    @Override
    public void print() {
        System.out.println("你好");
    }
}

super关键字
访问父类成员:子类可以使用 super 关键字来访问父类的成员(属性和方法)。
调用父类构造方法:子类构造方法中可以使用 super() 调用父类的构造方法。

public class Parent {
    int age = 2;


}
public class Son extends Parent {

    int age = 1;
    Son(){
         super(2);//只能在子类构造器中使用,且必须放在构造器的第一行
     }
    public void print(){

        int age = 0;
        System.out.println(age);//0 就近原则
        System.out.println(this.age);//1 本类
        System.out.println(super.age);//2 父类
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值