Java-接口-基本运用与基本介绍

接口基本介绍

  • 制定规范、规格
  • 接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来
  • 语法

interface 接口名{
属性
方法(1.抽象方法 2.默认实现方法 3.静态方法)

class 类名 implements 接口{
自己属性;
自己方法
必须实现的接口的抽象方法
}

  • 在JDK7.0 前 接口里的所有方法都没有方法体
  • JDK8.0后接口类可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现

接口源码说明

package com.tao.interface_;

/**
 * Create By 刘鸿涛
 * 2021/12/25 17:10
 */
public class Interface01 {
    public static void main(String[] args) {
        //创建手机,相机
        Phone phone = new Phone();
        Camera camera = new Camera();
        //创建计算机

        Computer computer = new Computer();
        computer.work(phone);   //把手机接入到计算机
        System.out.println("================\n");
        computer.work(camera);  //把相机接入到计算机

    }
}
class Camera implements UsbInterface{
    public void start(){
        System.out.println("相机开始工作...");
    }

    public void stop(){
        System.out.println("相机停止工作了...");
    }
}


class Computer {
    //编写一个方法,计算机工作
    public void work(UsbInterface usbInterface){
        //通过接口,来调用方法
        usbInterface.start();
        usbInterface.stop();
    }

}

//Phone类实现 UsbInterface
//解读1. 即 Phone 类需要实现 UsbInterface接口 规定/声明的方法
class Phone implements UsbInterface{
    public void start(){
        System.out.println("手机开始工作...");
    }

    public void stop(){
        System.out.println("手机停止工作了...");
    }
}

interface Ainterface {
    //写属性
    public int n1 = 10;
    //写方法
    //在接口中,抽象方法,可以省略abstract关键字
    public void hi();   //省略abstract关键字

//    public void ok(){
//                            接口方法不可以有方法体
//         System.out.println("ok...");

//    }

    //在jdk8后,可以有默认实现方法,需要使用default关键字修饰
    default public void ok(){
        System.out.println("ok...");
    }

    //在jdk8后,可以有静态方法
    public static void cry(){
        System.out.println("cry...");
    }
}

interface UsbInterface { //接口
    //规定接口的相关方法
    public void start();
    public void stop();
}

接口源码举例

  • 制定一个规格,每个接口都必须实现某个方法,使用implements继承
package com.tao.interface_;

/**
 * Create By 刘鸿涛
 * 2021/12/25 22:39
 */
public class Interface03 {
    public static void main(String[] args) {
        MysqlDB mysqlDB = new MysqlDB();
        t(mysqlDB);

        OracleDB oracleDB = new OracleDB();
        t(oracleDB);
    }

    public static void t(DBinterface db){
        db.connect();
        db.close();
    }
}

//规格制定
interface DBinterface{  //项目经理

    public void connect();  //连接方法
    public void close();    //关闭方法
}


//连接MysqlDB
class MysqlDB implements DBinterface{
    public void connect(){
        System.out.println("连接MysqlDB");
    }
    public void close(){
        System.out.println("关闭MysqlDB");
    }
}

//连接OracleDB
class OracleDB implements DBinterface{
    public void connect(){
        System.out.println("连接OracleDB");
    }
    public void close(){
        System.out.println("关闭OracleDB");
    }
}

结论

  • java-面向接口编程
  • 以后使用接口时可能会觉得越用越绕,只有通过不断地实战项目练习才能慢慢熟练接口的运用,所以,不用怕!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值