第十一篇、类的继承性


前言

上一篇我们共同学习了类的封装,在本篇我们将共同学习类的继承。


一、继承的概念

继承:通俗来说就是一个类与另一个类建立了父子关系,继承类被称为子类,被继承类称为父类。当继承关系建立时,子类将获得父类中的一些方法和属性,并可以使用这些方法和属性,等同于子类也创建了这些方法和属性。

二、代码示例

1.方法和属性的继承

代码如下(示例):
1.Person类

//Person 人:父类,基类
//在Java中所有的类都默认继承Object类
public class Person/*extends Object*/ {
    
    private int money = 1000;
    public void say(){
        System.out.println("说了一句话");
    }

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }

}

2.Student类

public class Student extends Person{

{

3.Appliction类

public class Application {
    public static void main(String[] args){
        Student student = new Student();
        student.say();
        int money = student.getMoney();
        System.out.println(money);
    }
}

运行结果:
在这里插入图片描述

2.构造器与super、this在继承中的应用

代码如下(示例):
1.Person类

//Person 人:父类,基类
//在Java中所有的类都默认继承Object类
public class Person/*extends Object*/ {

     protected String name = "Person吴小龙";
     public Person(){
         System.out.println("Person无参构造执行了");
     }
     public void print(){
         System.out.println("Person");
     }
}

2.Student类

//Student is 人:继承类,派生类,子类。
//子类继承了父类就会拥有父类所有的方法。
//ctrl+H查看分级结构
public class Student extends Person{
    private String name = "Student吴小龙";
    public Student(){
        //隐藏代码,调用了父类的无参构造器
        //调用父类构造器必须在子类构造器第一行
        super();
        System.out.println("Student无参构造执行了");
    }
    public void print(){
        System.out.println("Student");
    }
    public void test1(){
        print();//Student
        this.print();//Student
        super.print();//Person
    }
    public void test(String name){
        System.out.println(name);
        System.out.println(this.name);
        System.out.println(super.name);
    }
    
}

3.Application类

public class Application {
    public static void main(String[] args){
        Student student = new Student();
        student.test("吴小龙");
        student.test1();
    }
}

运行结果:
在这里插入图片描述


总结

  1. ’super注意点:
    1. super调用父类的构造方法,必须在构造方法的第一个
    2. super必须只能出现在子类的方法或者构造方法中
    3. super和this不能同时调用构造方法
  2. Vs this:
    1. 代表的对象不同:
      this:本身调用者这个对象
      super:代表父类对象的应用
    2. 前提:
      this:没有继承也可以使用
      super:必须在继承时才可以使用
    3. 构造方法:
      this():本类的构造
      super():父类的构造
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值