java接口的使用细节

14 篇文章 0 订阅

目录

1、概念

2、接口的使用细节

3、接口案例


1、概念

        接口就是给出没有实现的一些方法封装到一起,到某个类要实现的时候,在根据具体情况将把这些方法实现出来,它是一种约束,一种规范。

        格式:

                interface   接口名{

                        属性

                        方法

                }

        类实现接口:

                        class   类名   implement   接口名{

                                自己属性

                                自己方法

                                必须实现接口的抽象方法

                        }

2、接口的使用细节

        1)接口不能实例化

        2)接口中所有的方法都是public方法,且都是抽象方法,public和abstract可以省略不写。

public interface DBInterface {
     void connection();//此处省略了public abstract
     void stop();//此处省略了public abstract
}

        3)一个普通类实现接口,必须将接口中的所有方法实现

        4)抽象类实现接口,可以不用实现接口的方法

public abstract class Test implements DBInterface{
    //定义为抽象类,可以不用实现接口的方法
}

        5)一个类可以实现多个接口

public class MysqlDB implements DBInterface,DBInterface1{
​
    @Override
    public void connection() {
        System.out.println("链接Mysql");
    }
​
    @Override
    public void stop() {
        System.out.println("关闭Mysql");
    }
}

        6)接口中的属性只能是final的,而且是public static final修饰符。比如:int a = 1;实际上是public static final int a = 1(必须初始化)。

public interface DBInterface {
    int n1 = 10;   //等价public static  final  int n1 = 10;
    void connection();
}

        7)接口中属性的访问形式:接口名.属性名

public class Interface {
    public static void main(String[] args) {
        System.out.println(DBInterface.n1);
    }
}

        8)一个接口不能继承其他的类,但是可以继承多个别的接口

public interface DBInterface extends DBInterface1,DBInterface2{
    void connection();
}

3、接口案例

        1)定义接口

public interface DBInterface {
    void connection();
    void  stop();
}

        2)定义MysqlDB类和OracleDB类并实现接口

public class MysqlDB implements DBInterface{
    @Override
    public void connection() {
        System.out.println("连接Mysql");
    }
​
    @Override
    public void stop() {
        System.out.println("关闭Mysql");
    }
}
public class OracleDB implements DBInterface{
    @Override
    public void connection() {
        System.out.println("连接oracle");
    }
    @Override
    public void stop() {
        System.out.println("关闭oracle");
    }
}

        3)测试类

public class Interface {
    public static void main(String[] args) {
        MysqlDB mysqlDB = new MysqlDB();
        OracleDB oracleDB = new OracleDB();
        t(mysqlDB);
        t(oracleDB);
    }
    public static void t(DBInterface db) {
        db.connection();
        db.stop();
    }
}

        4)运行结果

 

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值