没用继承前:

老师类:

package com.it;

public class Teacher {
    private String name;
    private int age;

    public Teacher(){}

    public Teacher(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void teach(){
        System.out.println("用心教会每位学生!");
    }
}

学生类:

package com.it;

public class Student {
    private String name;
    private int age;

    public Student(){
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void study(){
        System.out.println("好好学习,天天向上!");
    }
}

测试类:

package com.it;

//测试类
public class DemoTest {
    public static void main(String[] args) {

        //无参构造方法创建对象
        Teacher t1 = new Teacher();
        t1.setName("刘老师");
        t1.setAge(25);
        System.out.println(t1.getName() + "," + t1.getAge());
        t1.teach();


        System.out.println("========================");

        //带参构造方法创建对象
        Teacher t2 = new Teacher("王老师", 28);
        System.out.println(t2.getName() + "," + t2.getAge());
        t2.teach();


    }
}

用继承实现:

定义人类:

package com.it01;

public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

定义老师类继承人类:

package com.it01;

public class Teacher extends Person {


    public void teach(){
        System.out.println("用心教会每一位学生!");
    }

    public Teacher() {
    }

    public Teacher(String name, int age) {
        //不能用this
        super(name, age);

    }
}

定义学生类继承人类:

package com.it01;

public class Student extends Person{
    public void study(){
        System.out.println("好好学习,天天向上!");
    }

    public Student() {
    }

    public Student(String name, int age) {
        super(name, age);
    }
}

测试类:

package com.it01;

public class Demo {
    public static void main(String[] args) {

        //无参构造方法创建对象
        Teacher t1 = new Teacher();
        t1.setName("刘老师");
        t1.setAge(25);
        System.out.println(t1.getName() + "," + t1.getAge());
        t1.teach();


        System.out.println("========================");

        //带参构造方法创建对象
        Teacher t2 = new Teacher("王老师", 28);
        System.out.println(t2.getName() + "," + t2.getAge());
        t2.teach();

        System.out.println("=========================");


        Student s1 = new Student();
        s1.setName("小同学");
        s1.setAge(12);
        System.out.println(s1.getName() + "," + s1.getAge());
        s1.study();

        System.out.println("============================");


        Student s2 = new Student("大同学", 16);
        System.out.println(s2.getName() + "," + s2.getAge());
        s2.study();


    }
}

点击阅读全文
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐