Java基础入门(继承)

继承

概念

  • 子类可以继承父类的特征和行为,是的子类的实例具有父类相同的变量或者类似的方法。
  • 继承的优点:快速创建与父类有关系的一系列子类。
  • 简单来说,子类有着父类留下的一些内容,也有自己独特的内容。

语法格式

  • 关键字:extends
public class 子类名 extends 父类名{
}

访问权限修饰符

  • public
    • 整个项目均可使用
  • private
    • 同类中可使用
  • protected
    • 同包或子类中可使用
  • 缺省
    • 同包下可使用

要点

  • 子类只继承父类的属性和方法,并不会继承父类的实例
  • 实例化子类时在调用子类构造函数的同时,还会使用**super()**实例化父类
  • 子类和父类是可以进行转型,其分为向上转型(子类->父类)和向下转型(父类->子类)两种。
  • 经过转型后的类可以使用**getClass()**方法查看根类型。
public class Father{
    public int money;
    private int password;
    protected String car;
    int IQ;

    public void drive(){
        System.out.println("父亲开车!!");
    }

    public Father(int money, int password, String car, int IQ){
        this.money = money;
        this.password = password;
        this.car = car;
        this.IQ = IQ;
    }

    public int getPassword() {
        return password;
    }

    public String getCar() {
        return car;
    }

    public int getIQ() {
        return IQ;
    }

    public void printInfo() {
        System.out.println("Money:" + money);
        System.out.println("password:" + password);
        System.out.println("car:" + car);
        System.out.println("IQ:" + IQ);
        drive();
    }
}
public class son_tim extends Father{
    private int games_num;

    public son_tim(int money, int password, String car, int IQ, int games_num){
        super(money, password, car, IQ);
        this.games_num = games_num;
    }

    public void printInfo() {
        System.out.println("Money:" + money);
        System.out.println("car:" + car);
        System.out.println("IQ:" + IQ);
        System.out.println("games_num:" + games_num);
        super.drive();
    }

    public void drive(){
        System.out.println("儿子Tim开车");
    }
}
public class manage {
    public static void main(String[] args){
        Father dad = new Father(55, 999, "LAZ", 140);
        son_tim son = new son_tim(dad.money, dad.getPassword(), dad.getCar(), dad.getIQ(), 5);
        son.printInfo();
        dad.drive();
        Father dad1 = (Father) son;
        dad1.drive();
        drive(dad);

    }
    public static void drive(Father m){
        m.drive();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G_Y_Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值