JAVA继承案例(老师和学生、猫和狗、)

  1. 案例:老师和学生
    需求:定义老师类和学生类,然后写代码进行测试;最后找到老师类和学生类中的共性内容,抽取出一个父类,用继承的方式改写代码,并进行测试。
    分析:
    (1)定义老师类(姓名、年龄、教书())
    (2)定义学生类(姓名、年龄、学习())
    (3)定义测试类,写代码测试
    (4)共性抽取父类,定义人类(姓名、年龄)
    (5)定义老师类,继承人类,并给出自己特有方法:教书();
    (6)定义学生类,继承人类,并给出自己特有方法:学习();
    (7)定义测试类,写代码测试。

完整代码:
第一部分:

package com.lizi1;

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 static void teache(){
        System.out.println("教书育人");
    }
}

package com.lizi1;

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 static void study(){
        System.out.println("好好学习");
    }
}

package com.lizi1;

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


        Teacher t2 = new Teacher("Bob",30);
        System.out.println(t2.getName()+","+t2.getAge());
        t2.teache();

    }
}

运行结果:

Tom,20
教书育人
Bob,30
教书育人

第二部分:

package com.lizi2;

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

    public human() {
    }

    public human(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.lizi2;

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

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

    }

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

package com.lizi2;

import com.lizi1.Teacher;

public class Demo {
    public static void main(String[] args) {
        Teacher t1 = new com.lizi1.Teacher();
        t1.setName("Tom");
        t1.setAge(20);
        System.out.println(t1.getName() + "," + t1.getAge());
        t1.teache();


        Teacher t2 = new Teacher("Bob", 30);
        System.out.println(t2.getName() + "," + t2.getAge());
        t2.teache();
    }
}

运行结果:

Tom,20
教书育人
Bob,30
教书育人
  1. 案例:猫和狗
    需求:请采用继承的思想实现猫和狗的案例,并在测试类中进行测试。
    分析:
    ① 猫:
    成员变量:姓名、年龄
    构造方法:无参、带参
    成员方法:get/set方法,抓老鼠()
    ② 狗:
    成员变量:姓名、年龄
    构造方法:无参、带参
    成员方法:get/set方法,看门()
    ③ 共性:
    成员变量:姓名、年龄;
    构造方法:无参、带参
    成员方法:get/set方法

思路:
(1)定义动物类(Animal)
成员变量:姓名、年龄;
构造方法:无参、带参
成员方法:get/set方法
(2)定义猫类(Cat),继承动物类
构造方法:无参、带参
成员方法:抓老鼠()
(3)定义狗类(Dog),继承动物类
构造方法:无参、带参
成员方法:看门()
(4)定义测试类(AnimalDemo),写代码测试

完整代码:

package com.lizi3;

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

package com.lizi3;

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

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

    public static void mouse() {
        System.out.println("抓老鼠");
    }
}

package com.lizi3;

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

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

    public static void door(){
        System.out.println("看门");
    }
}

package com.lizi3;

public class Demo {
    public static void main(String[] args) {
        Cat c1 = new Cat();
        c1.setName("mimi");
        c1.setAge(3);
        System.out.println(c1.getName() + "," + c1.getAge());
        c1.mouse();

        Cat c2 = new Cat("mimi2", 4);
        System.out.println(c2.getName() + "," + c2.getAge());
        c2.mouse();

        Dog d1 = new Dog();
        d1.setName("qq");
        d1.setAge(5);
        System.out.println(d1.getName() + "," + d1.getAge());
        d1.door();

        Dog d2 = new Dog("pp", 4);
        System.out.println(d2.getName() + "," + d2.getAge());
        d2.door();
    }
}

运行结果:

mimi,3
抓老鼠
mimi2,4
抓老鼠
qq,5
看门
pp,4
看门
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java继承的使用案例有很多,以下是其中的几个: 1. 汽车继承:在汽车定义了一些共性的属性和方法,比如车轮数、品牌、加速、刹车等,然后派生出轿车、卡车、客车等子,子可以继承的属性和方法,并且还可以添加自己的属性和方法,比如轿车可以添加行李箱容积属性、车身颜色属性等。 2. 动物继承:在动物定义了一些共性的属性和方法,比如生命力、呼吸、移动等,然后派生出、鸟等子,子可以继承的属性和方法,并且还可以添加自己的属性和方法,比如可以添加咪咪叫声方法、抓老鼠方法等。 3. 人继承:在人定义了一些共性的属性和方法,比如姓名、性别、年龄、工作等,然后派生出学生类、教师、工人等子,子可以继承的属性和方法,并且还可以添加自己的属性和方法,比如学生类可以添加学号属性、选课方法等。 4. 图形继承:在图形定义了一些共性的属性和方法,比如面积、周长、颜色等,然后派生出圆形、正方形、长方形等子,子可以继承的属性和方法,并且还可以添加自己的属性和方法,比如圆形可以添加半径属性、计算周长方法等。 5. 父子之间的转换:父对象可以引用子对象,反之子对象也可以引用父对象,这种转换在实际开发中非常常见。比如一个方法的参数为父对象,但是我们可以传递子对象进去,因为子对象是父对象的一种特殊情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值