【JAVA 基础 第(14)课】你不知道的接口 interface 使用方法,extends 和 implements 具体使用细节

基础介绍:

public interface 接口名称 {}
接口中的成员变量均为 public static final 
接口中的方法均为公共抽象的,public abstract,abstract修饰的方法没有方法体

public interface 接口名称   extends 接口1,接口2...{}
接口继承别的接口用 extends 关键字,而且接口的继承是多继承,这一点可以弥补类是单继承的缺陷

接口可以声明引用变量,但不能直接 new 创建对象

class 类名  implements 接口1,接口2....{}
类实现接口使用 implements 关键字,然后创建实现类的对象
类实现接口是多实现的,implements 接多个接口名称,之间用,隔开

实例:

声明一个爸爸打球的接口

public interface Father {

    //63岁
    public static final int age=63;

    //爸爸打球
    public void playBall();
}

声明一个妈妈养花的接口

public interface Mother {
    //妈妈养花
    public void growFlowers();
}

声明一个爷爷喜欢读书的类

public class Gandpa {
    public void enjoy(){
        System.out.println("喜欢读书");
    }
}

儿子实现了爸爸妈妈的爱好,也继承了爷爷的爱好

public class Son extends Gandpa implements Father,Mother{
    @Override
    public void playBall() {
        System.out.println("儿子喜欢打篮球");
        System.out.println("爸爸岁数:"+age);
    }

    @Override
    public void growFlowers() {
        System.out.println("儿子喜欢养月季");
    }
}

运行结果:

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

        Son son = new Son();
        son.playBall();
        son.growFlowers();

        //儿子继承了爷爷读书的爱好
        son.enjoy();

        System.out.println("=====================分隔符=======================");

//        当声明对象是爸爸的时候,儿子只能实现爸爸打球的方法,儿子喜欢打篮球
        Father f = new Son();
        f.playBall();


        System.out.println("=====================分隔符=======================");

//        当声明对象是妈妈的时候,儿子只能实现妈妈养护的方法,儿子喜欢养月季
        Mother m = new Son();
        m.growFlowers();

    }
}

输出:

儿子喜欢打篮球
爸爸岁数:63
儿子喜欢养月季
喜欢读书
=====================分隔符=======================
儿子喜欢打篮球
爸爸岁数:63
=====================分隔符=======================
儿子喜欢养月季

女儿继承了爸爸和妈妈的爱好

public interface daughter extends Father,Mother{
}

外孙又继承了爷爷的爱好 且 实现了女儿的爱好

public class Daughter_Baby extends Gandpa implements daughter{
    @Override
    public void playBall() {
        System.out.println("外孙喜欢打排球");
    }

    @Override
    public void growFlowers() {
        System.out.println("外孙喜欢养玫瑰");
    }
}

运行结果:

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

       Daughter_Baby daughterBaby = new Daughter_Baby();
       daughterBaby.growFlowers();
       daughterBaby.playBall();
       daughterBaby.enjoy();
    }
}

输出:

外孙喜欢养玫瑰
外孙喜欢打排球
喜欢读书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑口罩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值