接口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();
    }
}

运行的结果:

相关推荐
Swizard7 分钟前
极限瘦身:将 Python AI 应用从 100MB 砍到 30MB
java·python·ai·移动开发
编织幻境的妖13 分钟前
Python代码性能优化工具与方法
开发语言·python·性能优化
Fcy64815 分钟前
二叉搜索树(C++实现)
开发语言·数据结构·c++·二叉搜索树
zhouyunjian18 分钟前
11、一文详解CompletableFuture:来源、定义、方法、与场景使用分析
java·网络·spring boot
Kin__Zhang18 分钟前
随手记录 UE4/CARLA 仿真器 segmentation fault
android·java·ue4
CoderYanger19 分钟前
A.每日一题——1523. 在区间范围内统计奇数数目
java·数据结构·算法·leetcode·职场和发展
期待のcode19 分钟前
MyBatis-Plus通用Service
java·后端·mybatis·springboot
程序员-周李斌23 分钟前
ArrayBlockingQueue 源码解析
java·开发语言·后端·哈希算法·散列表
Tim_1038 分钟前
【C++入门】02、C++程序初识
开发语言·c++
编程修仙39 分钟前
第一篇 认识SpringBoot
java·spring boot