Java篇————接口-创新互联

目录

创新互联专业为企业提供永城网站建设、永城做网站、永城网站设计、永城网站制作等企业网站建设、网页设计与制作、永城企业网站模板建站服务,10多年永城做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

基本知识

接口的概念

接口的语法

接口的拓展

接口的应用

谢谢大家的观看!!!


基本知识 接口的概念

接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。
在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。

接口的语法

1.接口的定义:权限  + interface  +  接口名

eg: public interface Ishape     (接口名最好是用大写字母i打头)

2.接口底下不能写构造方法

3.接口中的成员默认是public static final,不写也没有关系

4.接口中的方法不写默认是public abstract

5.接口不能被实例化

6.接口要通过类来实现

public class + 类名称 + implements + 接口名称 

7.接口中的方法不能有具体实现

如果非要有实现也不是不行 ,加default或者static

接口的拓展

接口c既有原来自己的功能(funcc),也能用接口A,接口B的功能

接口的应用

1.先建立一个USB的接口,里面有两个方法,打开和关闭 

2.建立一个鼠标类,用implement去连接IUSB接口

tips:怎 么 快 速 写 重 写 方 法

先 用 鼠 标 点 击 红 色 的 线,然 后 在 按 alt+回 车,就 会 出 现 重 写 方 法 啦 

3.用同样的方法再建立一个键盘类,方法同上

4. 再建立一个电脑类,方法有打开和关闭,我们试图通过电脑类来使其他的设备也能连接IUSB接口

如果这里接收到的是鼠标,就是鼠标在用这个接口,如果接受到的是键盘,那就是键盘在用这个接口,这里用了向下转型通过 instanceof 找到鼠标类,如果直接用usb去用鼠标类的方法click的是不行的,因为IUSB里面没有click这个方法,在鼠标类里面才有,所以这里要  类型强转  ,将usb强转为鼠标类,再去用click方法 ,下面的同理

5.最后再调用computer类,运行起来

运行结果如下

如果上面这个例子没很明白的话,这是我的问题,可能有点抽象,那我们再来看一个例子吧

1.先定义一个动物类,并给上构造方法

2.定义一个IRunning接口

这里先是继承Animal类,再用implements 和接口连接上,里面先调用父类的构造方法,再重写接口的run方法

3.用同样的方式去完成🕊Bird,🐟Fish类吧

4.我们能不能把之前的接口都用上?当然可以!!!建立一个鸭子类,鸭子又会跑又会飞又会游,直接在implement后面多加几个接口就可以了,然后依次进方法重写

5.方法调试,运行起来

这时候可能会想,那🦆鸭子类怎么办呢

怎么办?     好办!

和前面的其他动物一样,这里是为了区分,才加的1和2

我们一起来看一下结果吧

这里我们可以感受到,接口就是一种功能,我们就算不是动物也能用比如建立一个pen类

结果如下

以 上 我 们 发 现 就 算 不 是 动 物 也 能 用 我 们 的 跑 步 的 接 口 ,所 以 我 们 的 接 口 是 撇 开 了 类 型 的,只 要 满 足 这 个 功 能 就 可 以 


代码在底下,粘贴食用吧~

abstract class Animal{
    public String name;

    //构造方法赋初值
    public Animal(String name) {

        this.name = name;
    }
}
interface IRunning{
    void run();
}
interface ISwimming{
    void swim();
}
interface IFly{
    void fly();
}
class Dog extends Animal implements IRunning{

    public Dog(String name) {
        super(name);
    }

    @Override
    public void run() {
        System.out.println(name +"用两条狗腿腿在跑");
    }
}
class Fish extends Animal implements ISwimming{

    public Fish(String name) {
        super(name);
    }

    @Override
    public void swim() {
        System.out.println(name+"用两条腿在游");
    }
}
class Bird extends Animal implements IFly{

    public Bird(String name) {
        super(name);
    }

    @Override
    public void fly() {
        System.out.println(name+"用翅膀飞");
    }
}
class Duck extends Animal implements IRunning,IFly,ISwimming{
    public Duck(String name) {
        super(name);
    }

    @Override
    public void run() {
        System.out.println(name+"用两条腿在跑");
    }

    @Override
    public void swim() {
        System.out.println(name+"用两条腿在游");
    }

    @Override
    public void fly() {
        System.out.println(name+"用翅膀飞");
    }

}
class pen implements IRunning{

    @Override
    public void run() {
        System.out.println("我也能跑,没想到吧!");
    }
}
public class test {
    //用接口去调用
    public static void fly(IFly iFly){
        iFly.fly();
    }
    public static void swim(ISwimming iSwimming){
        iSwimming.swim();
    }
    public static void walk(IRunning iRunning){
        iRunning.run();
    }
    public static void main(String[] args) {
        walk(new pen());
        walk(new Dog("二蛋"));
        swim(new Fish("小鱼儿"));
        fly(new Bird("雷霆战鸡"));
        System.out.println("=======");
        walk(new Duck("小鸭1"));
        swim(new Duck("小鸭2"));

    }
}
谢谢大家的观看!!!

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:Java篇————接口-创新互联
URL地址:http://scyanting.com/article/dshhpj.html