接口interfance的基本使用

一.为什么有接口?

接口:就是一种规则。

二.接口的定义和使用

1.接口用关键字interface来定义

java 复制代码
public interface 接口名{}

2.接口不能实例化

3.接口和类之间是实现关系,通过implements关键字表示

4.接口的子类(实现类)

注意1:

接口和类的实现关系,可以单实现,也可以多实现。

public class 类名 implements 接口名1,接口名2{

}

注意2:

实现类还可以在继承一个类的同时实现多个接口。

publi class 类名 extends 父类 implements 接口名1,接口名2{

}

三.案例

Animal类:

java 复制代码
package day;

public abstract class Animal {
    private String  name;
    private  int age;

    public Animal() {
    }

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    public abstract void eat();
}

Swim接口:

java 复制代码
package day;

public interface Swim {
    public abstract void swim();
}

Dog类:

java 复制代码
package day;

public class Dog extends Animal implements Swim {
    @Override
    public void eat() {
        System.out.println("狗吃骨头");
    }

    @Override
    public void swim() {
        System.out.println("狗刨");
    }
}

Forg类:

java 复制代码
package day;

public class Test {
    public static void main(String[] args) {
        Forg f = new Forg("小青", 1);
        System.out.println(f.getName() + "," + f.getAge());
        f.eat();
        f.swim();

//        创建兔子的对象
        Rabbit r = new Rabbit("小白", 2);
        System.out.println(r.getAge() + r.getAge());
        r.eat();
    }
}

Raabit类:

java 复制代码
package day;

public class Rabbit extends Animal {
    @Override
    public void eat() {
        System.out.println("兔子在吃胡罗波");
    }

    public Rabbit() {
    }

    public Rabbit(String name, int age) {
        super(name, age);
    }
}

Test测试类:

java 复制代码
package day;

public class Test {
    public static void main(String[] args) {
        Forg f = new Forg("小青", 1);
        System.out.println(f.getName() + "," + f.getAge());
        f.eat();
        f.swim();

//        创建兔子的对象
        Rabbit r = new Rabbit("小白", 2);
        System.out.println(r.getAge() + r.getAge());
        r.eat();
    }
}

运行的结果:

相关推荐
云烟成雨TD13 分钟前
Spring AI Alibaba 1.x 系列【63】AI Agent 长期记忆
java·人工智能·spring
z落落13 分钟前
C# ToCharArray + foreach遍历 + String与StringBuilder
开发语言·c#
憧憬成为java架构高手的小白23 分钟前
苍穹外卖--day09
java·spring boot·百度
学代码的真由酱28 分钟前
Java多用户一对一网页聊天室-测试报告
java·开发语言·功能测试·测试
人道领域31 分钟前
【LeetCode刷题日记】669.修剪二叉搜索树
开发语言·python·算法
Jasonakeke1 小时前
SpringBoot自动配置原理揭秘
java·spring boot·后端
xiaoshuaishuai81 小时前
C# AvaloniaUI动态显示图片
开发语言·c#
日光明媚1 小时前
一步生成视频!One-Forcing:DMD + 零成本 GAN,训练 200 步超越多步 SOTA
android·开发语言·kotlin
2301_803538952 小时前
Java读取Word图片的两种实用方法
java·开发语言·word
C+-C资深大佬2 小时前
SSM 框架(Spring + SpringMVC + MyBatis)
java·spring·mybatis