Java语法-接口作为成员变量类型

接口的实现类是工具类;
把接口作为成员变量类型的类是主导类;
注:
1、在主函数类中创建工具类对象,而不是在主导类中创建工具类对象;
2、在主导类中将接口类型作为成员变量类型,而不是将接口实现类类型作为成员变量类型;

1、接口、作为成员变量类型

public interface Skill {

    public abstract void show();
}

2、接口的实现类、工具类、工具类不作成员变量类型、工具类其父类接口作为成员变量类型

public class Sports implements Skill {

    @Override
    public void show() {
        System.out.println("play basketball");
    }
}

3、主导类、在主导类中使用工具类的抽象方法、在主导类中不创捷工具类对象
主导类中,当然可以把接口作为成员变量类型,也可以把接口的实现类作为成员变量类型,只要在主函数合理创建对象即可。

public class Person {

    private String name;
    private int age;
    // 工具类的父类接口作成员变量类型
    private Skill skill;

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

    public void introcuce(){
        System.out.println("my name is " + this.name + " and my age is " + this.age);
        this.skill.show();
    }
}

4、测试、在主函数中创建工具类对象

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

        // 在主函数给主导类配置工具类
        Skill sportsSkill = new Sports();
        Person p = new Person("陈志海",24,sportsSkill);
        p.introcuce();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值