Java基础——继承

Java 中的继承就是在已经存在类的基础上进行扩展,从而产生新的类。已经存在的类称为父类、基类或超类,而新产生的类称为子类或派生类。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法。
Java 中子类继承父类的语法格式如下:

class 子类 extends 父类{
}

范例:
1.创建人类 Person,并定义 name、age、sex、phone 属性,代码如下:

package extendsTest01;

public class Person {
    public String name;
    public int age;
    public String sex;
    public int phone;

    public Person(String name,int age,String sex,int phone){
        this.name=name;
        this.age=age;
        this.sex=sex;
        this.phone=phone;
    }
    public String toString(){
        return "姓名:"+name+"\n年龄"+age+"\n性别:"+"\n电话:"+phone;
    }
}

2.创建 Person 类的子类 Student 类,并定义 stuNo 和 department 属性,代码如下:

package extendsTest01;

public class Student extends Person{
    private  int stuNo;//学号
    private String department;//所学专业

    public Student(String name,int age,String sex,int phone,int stuNo,String department){
        super(name,age,sex,phone);//调用父类中的构造方法
        this.stuNo=stuNo;
        this.department=department;

    }
    public String toString(){
        return "姓名:"+name+"\n年龄"+age+"\n性别:"+sex+"\n电话:"+phone+"\n学号:"+stuNo+"\n专业:"+department;
    }
}

3.创建 People 类的另一个子类 Teacher,并定义 tYear 和 tDept 属性,代码如下:

package extendsTest01;

public class Teacher extends Person {
        private int tYear;//教龄
        private String tDept;//所教专业
    public Teacher(String name, int age, String sex, int phone,int tYear,String tDept) {
        super(name, age, sex, phone);//调用父类构造方法
        this.tYear=tYear;
        this.tDept=tDept;
    }
    public String toString(){
        return "姓名:"+name+"\n年龄"+age+"\n性别:"+sex+"\n电话:"+phone+"\n教龄:"+tYear+"\n所教专业:"+tDept;
    }
}

4.编写测试类 PeopleTest,在该类中创建 People 类的不同对象,分别调用它们的 toString() 方法,输出不同的信息。具体的代码如下:

package extendsTest01;

public class PeopleTest {
    public static void main(String[] args) {
        //创建Student对象
        Student stu=new Student("妲己",14,"女",123456789,100002,"蹲草丛");
        System.out.println("----------学生信息----------");
        System.out.println(stu);

        //创建teacher类对象
        Teacher tea =new Teacher("蔡文姬",14,"女",123456789,2,"弹弹弹");
        System.out.println("----------教师信息----------");
        System.out.println(tea);
    }
}

运行结果:
在这里插入图片描述
单继承:
Java 不支持多继承,只允许一个类直接继承另一个类,即子类只能有一个直接父类,extends 关键字后面只能有一个类名。
一个类只能有一个直接父类,但是它可以有多个间接的父类。例如,Student 类继承 Person 类,Person 类继承 Person1 类,Person1 类继承 Person2 类,那么 Person1 和 Person2 类是 Student 类的间接父类

posted @ 2020-04-16 10:41  秋弦  阅读(168)  评论(0编辑  收藏  举报