继承案例

案例1:老师和学生

需求:
定义老师类和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽取出一个父类,用继承的方式改写代码,并进行测试
代码演示:

父类:

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;
    }
}

学生类:

public class Student extends Person {
    public Student() {
    }

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

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

老师类:

public class Teacher extends Person {
    public Teacher() {
    }

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

    public void teach() {
        System.out.println("教书育人");
    }
}

测试类:

public class Demo {
    public static void main(String[] args) {
        Teacher t1 = new Teacher();
        t1.setName("maomao");
        t1.setAge(2);
        System.out.println(t1.getName() + "," + t1.getAge());
        t1.teach();

        Teacher t2 = new Teacher("zhuzhu", 4);
        System.out.println(t2.getName() + "," + t2.getAge());
        t2.teach();

        Student s1 = new Student();
        s1.setName("猫猫");
        s1.setAge(22);
        System.out.println(s1.getName() + "," + s1.getAge());
        s1.study();

        Student s2 = new Student("猪猪", 24);
        System.out.println(s2.getName() + "," + s2.getAge());
        s2.study();
    }
}

输出结果:

maomao,2
教书育人
zhuzhu,4
教书育人
猫猫,22
好好学习,天天向上
猪猪,24
好好学习,天天向上

 

案例2:猫和狗(和案例一思路一样)

需求:

代码演示:
动物类:

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

    public Animal() {
    }

    public Animal(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 class Cat extends Animal {
    public Cat() {
    }

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

    public void catchMouse() {
        System.out.println("猫抓老鼠");
    }
}

狗类:

public class Dog extends Animal {
    public Dog() {
    }

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

    public void lookdoor() {
        System.out.println("狗看门");
    }
}

测试类:

public class AnimalDemo {
    public static void main(String[] args) {
        Cat c1=new Cat();
        c1.setName("加菲猫");
        c1.setAge(5);
        System.out.println(c1.getName() +" , "+c1.getAge();
        c1.catchMouse();

        Cat c2=new Cat("布偶猫",2);
        System.out.println(c2.getName()+" , "+c2.getAge());
        c2.catchMouse();
        
        //Dog同理
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值