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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值