java 接口使用实例

java 接口使用实例

题目:

老师有基础班的,也有就业班的。
共性:
属性:姓名,年龄
功能:讲课。
现在又要针对日语这种小语种单独开班,
需要部分基础班老师和部分就业班老师会说日语。

分析:

题目说到基础班和就业班中的老师部分会日语,那么本次编程将要定义三层类,分别代表老师、所教班类型、是否会讲日语,其中讲日语可以作为接口中的抽象方法,在调用时再定义“会讲日语”。

接口:Interface
抽象方法:say();

父类:Teacher()
属性:String name;int age;
方法:method();

子类:
BaseClassTeacher()
EmployClassTeacher()

子子类:
MrZhang() 不引用接口;
MissKuang()引用接口定义say();
MissWu() 引用接口定义say();

java 代码:

接口:Interface

interface Interface{
    
    
     public void say();
}

父类:Teacher()

public class Teacher {
    
    
    String name;
    int age;

    public void method(){
    
    
        System.out.println("负责讲课");
    }
}

子类:BaseClassTeacher()

class BaseClassTeacher extends Teacher{
    
    
    public void show(){
    
    
        System.out.println("我是基础班老师"+name+"年龄:"+age);
    }
}

子类:EmployClassTeacher()

class EmployClassTeacher extends Teacher {
    
    
    public void show(){
    
    
        System.out.println("我是就业班老师"+name+"年龄:"+age);
    }
}

子子类:MrZhang()

class MrZhang extends BaseClassTeacher{
    
    
    @Override
    public void show() {
    
    
        super.show();
    }
}

子子类:MissKuang()

class MissKuang extends EmployClassTeacher implements Interface{
    
    
    @Override
    public void show() {
    
    
        super.show();
    }
    @Override
    public void say() {
    
    
        System.out.println("我会讲日语");
    }
}

子子类:MissWu()

class MissWu extends BaseClassTeacher implements Interface{
    
    
    @Override
    public void show() {
    
    
        super.show();
    }

    @Override
    public void say() {
    
    
        System.out.println("我会讲日语");
    }
}

测试main

abstract class main {
    
    //

    public static void main(String[] args) {
    
    
        MrZhang mrZhang = new MrZhang();
        mrZhang.name = "小张";
        mrZhang.age = 20;
        mrZhang.show();
        mrZhang.method();
        System.out.println("===================");
        MissKuang missKuang = new MissKuang();
        missKuang.name = "老童";
        missKuang.age = 18;
        missKuang.show();
        missKuang.say();
        missKuang.method();
        System.out.println("===================");
        MissWu missWu = new MissWu();
        missWu.name = "老婷";
        missWu.age = 18;
        missWu.show();
        missWu.say();
        missWu.method();
    }
}

运行结果

在这里插入图片描述

Memorial Day is 357 days
I miss you
xiaokeai

猜你喜欢

转载自blog.csdn.net/weixin_42914989/article/details/108742538