java基础day10

接口:接口就是一组功能(能力/规范)

特点:

实现多态

解决了继承的单一继承的问题

接口是特殊的抽象类

接口和类是完全不同的机制,接口可以多继承,类不可以

接口没有构造方法

有抽象方法 可以有常量,完整限定符public static final

特性:接口不可以被实例化;

实现类必须实现接口的所有方法;

案例

  • 定义Eatable接口,在接口中定义eat()方法,表示吃饭功能
  • 定义FlyingDiscCatchable接口,在接口中定义catchingFlyDisc()方法,表示接飞盘功能
  • 定义Swimmable接口,在接口中定义swim()方法,表示游泳功能
  • 定义抽象类Pet,包括宠物名称(name),健康值(health)和与主人亲密度(love)属性,并提供抽象方法print(),用来输出宠物信息
  • 定义狗类Dog,继承Pet类,实现Eatable和FlyingDiscCatchable接口,并重写或实现各个方法。
  • 定义企鹅类Pengui,继承Pet类,实现Eatable和Swimmable接口,并重写或实现各个方法。
  • 编写测试类,实现狗吃饭、企鹅游泳和狗玩接飞盘游戏的功能,并输出企鹅信息。
  • interface Eatable {
        void eat();
    }

    interface FlyingDiscCatchable {
        void catchingFlyDisc();
    }

    interface Swimmable {
        void swim();
    }

    abstract class Pet {
        String name;
        String health;
        String love;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getHealth() {
            return health;
        }

        public void setHealth(String health) {
            this.health = health;
        }

        public String getLove() {
            return love;
        }

        public void setLove(String love) {
            this.love = love;
        }

        abstract void print();
    }

    class Dog extends Pet implements Eatable, Swimmable {

        @Override
        public void swim() {
            // TODO Auto-generated method stub
            System.out.println("狗游泳!");
        }

        @Override
        public void eat() {
            // TODO Auto-generated method stub
            System.out.println("狗吃饭!");
        }

        @Override
        void print() {
            // TODO Auto-generated method stub
            System.out.println("狗玩接飞盘!");
        }

    }

    class Pengui extends Pet implements Eatable, Swimmable {

        @Override
        public void swim() {
            // TODO Auto-generated method stub
            System.out.println("企鹅游泳!");
        }

        @Override
        public void eat() {
            // TODO Auto-generated method stub

        }

        @Override
        void print() {
            // TODO Auto-generated method stub
            System.out.println("我是一只肥企鹅我叫" + this.name + "\t" + "健康值为" + this.health + "\t" + "与主人的亲密度为" + this.love);

        }

    }

    public class Test {
        public static void main(String[] args) {
            Dog dog = new Dog();
            dog.eat();
            dog.print();
            Pengui pengui = new Pengui();
            pengui.swim();
            pengui.setName("大旭");
            pengui.setHealth("100%");
            pengui.setLove("100%");
            pengui.print();

        }
    }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值