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

运行的结果:

相关推荐
enyp807 分钟前
Qt原型模式实现与应用
开发语言·qt·原型模式
Musennn13 分钟前
102. 二叉树的层序遍历详解:队列操作与层级分组的核心逻辑
java·数据结构·算法·leetcode
越来越无动于衷19 分钟前
java数组题(5)
java·算法
Mikey_n28 分钟前
Spring Boot 注解详细解析:解锁高效开发的密钥
java·spring boot·后端
CryptoRzz28 分钟前
印度尼西亚数据源对接技术指南
开发语言·python·websocket·金融·区块链
zyx没烦恼32 分钟前
unordered_map和unordered的介绍和使用
开发语言·c++
_yingty_34 分钟前
Java设计模式-策略模式(行为型)
java·设计模式·策略模式
小小寂寞的城1 小时前
Jenkins里构建一个简单流水线
java·运维·jenkins
wowocpp1 小时前
idea springboot 配置文件 中文显示
java·spring boot·intellij-idea
User_芊芊君子1 小时前
【Java面试题】——this 和 super 的区别
java·开发语言