栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的接口

基本介绍

接口就是给出一次额没有实现的方法,封装到一起,到某个类要使用的时候,根据具体的情况把这些方法写出来。

语法:interface 接口名{

属性+方法

}

class 类名 implements 接口{

自己的属性//方法

}

注意:在jdk7以前都没有接口中的方法都没有方法体,而在8.0之后可以有静态方法,默认方法(需要用default进行标记),也就是说接口中有方法的具体实现,在接口中抽象方法可以进行省略。

public interface InterfaxeTest {
    public int a=10;
    public int sum();
   default public void hi(){
        System.out.println("你好");
    }
    public static void ok(){
       System.out.println("OK");
    }
}
接口的简单用法

规范我们的书写,方便调用。比如,我们现需要写出三个类,分别链接mysql数据库,oracle数据库。我们程序员1写的链接mysql数据库链接方法定义为f1,断开为f2。而程序员2写的链接oracle数据库的方法为connect,与close方法。这样会导致我们使用不同的数据库时,调用函数的麻烦,但是当我我们使用接口,就可以规范每一个的命名,举个简单例子:

public interface DBInterface {
    
    public void connect();
    
    public void stop();
}
public class Oracle implements DBInterface{
    @Override
    public void connect() {
        System.out.println("链接oracle数据库");
    }

    @Override
    public void stop() {
        System.out.println("断开链接oracle数据库");
    }
}
public class MySql implements DBInterface{
    @Override
    public void connect() {
        System.out.println("链接mysql数据库");
    }

    @Override
    public void stop() {
        System.out.println("断开链接mysql数据库");
    }
}
public class Test {
    public static void main(String[] args) {
        MySql mySql = new MySql();
        mySql.connect();
        mySql.stop();
    }

}
接口的注意事项

接口本身并不能被实例化接口中所有方法都为public方法,接口中的抽象方法,可以不用abstract修饰一个类继承该接口,就必须实现接口的所有方法一个类可以实现多个接口

public class Oracle implements DBInterface,InterfaxeTest{
    @Override
    public void connect() {
        System.out.println("链接oracle数据库");
    }

    @Override
    public void stop() {
        System.out.println("断开链接oracle数据库");
    }

    @Override
    public int sum() {
        return 0;
    }

    @Override
    public void hi() {
        InterfaxeTest.super.hi();
    }
}

接口中的属性只能是final,而且是public static final修饰符,比如int  a=1;实际上为public static int a=1;

证明:

我们在刚才的接口中定义int a=0;

在main方法中输出如下;如果不报错并且可以正常输出,说明这个为public并且为static,我们并没有创建实例化对象。而final只需要我们尝试改变以下值即可。

public class Test {
    public static void main(String[] args) {
        System.out.println(MySql.a);
        
    }

}

做个练习:

public class Test {
    public static void main(String[] args) {
        System.out.println(DBInterface.a);
        System.out.println(MySql.a);
        MySql mySql=new MySql();
        System.out.println(mySql.a);
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/733010.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号