91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何定義interface接口

發布時間:2022-06-08 10:36:41 來源:億速云 閱讀:188 作者:zzz 欄目:開發技術

今天小編給大家分享一下Java如何定義interface接口的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    1.接口定義

    基本介紹

    接口就是給出一些沒有實現的方法,封裝到一起,到某個類要使用的時候,在根據具體情況把這些 方法寫出來。

    語法 

    interface 接口名{
    //屬性
    1方法
    }
    接口

    •class 類名 implements 接口{
    自己屬性;
    自己方法;
    必須實現的接口的抽象方法
    }

    示例

    inerface01.java

    package com.demo.Interface_;
    public class inerface01 {
        public static void main(String[] args) {
            //創建手機相機對象
            camera c1=new camera();
            phone p1=new phone();
            //創建電腦對象
            computer cc=new computer();
            //相機工作
            cc.work(c1);
            //手機工作
            cc.work(p1);
        }
    }

    usb.java

    package com.demo.Interface_;
    public interface usb {//接口
        //規定接口的相關方法
        public void start();
        public void end();
    }

    computer.java

    package com.demo.Interface_;
    public class computer {
        //編寫一個方法
        public void work(usb it){
            //通過接口調用方法
            it.start();
            it.end();
        }
    }

    camera.java

    package com.demo.Interface_;
    //相機實現接口usb
    public class camera implements usb{
        @Override
        public void start() {
            System.out.println("相機開始了工作");
        }
        @Override
        public void end() {
            System.out.println("相機停止了工作");
        }
    }

    phone.java

    package com.demo.Interface_;
    //phone類實現usb接口中的方法
    public class phone implements usb{
        @Override
        public void start() {
            System.out.println("手機開始了工作");
        }
        @Override
        public void end() {
            System.out.println("手機停止了工作");
        }
    }

    測試結果

    Java如何定義interface接口

    2.接口細節01

    1.在jdk7.0之前,接口里所有有的方法都沒有方法體,都是抽象方法、.

    2.jdk8.0后接口可以有靜態方法,默認方法,也就是說接口中可以有方法的具體實現

    示例

    Ainter.java

    package com.demo.Interface_;
    public interface Ainter {//接口
        //寫屬性
        public int n1=999;
        //寫方法
        public void hi();//抽象方法abstract可也可不寫
    //    1.在jdk7.0之前,接口里所有有的方法都沒有方法體,都是抽象方法、.
    //    2.jdk8.0后接口可以有靜態方法,默認方法,也就是說接口中可以有方法的具體實現
    //    3.但需要defaul關鍵字修飾;
        default public void ok(){
            System.out.println("ok.....");
        }
        //jdk8后,可以有靜態方法
        public static void cry(){
            System.out.println("cry.....");
        }
    }

    interface02.java

    public class interface02 {
        public static void main(String[] args) {
            A a = new A();
            a.hi();
            a.ok();
            a.cry();
        }
    }
    //如果一個類連接了接口,需要將接口中的方法全都實現
    class A implements Ainter{
        public void hi(){
            System.out.println("hi.....");
        };
         public void ok(){
            System.out.println("ok.....");
        }
        //jdk8后,可以有靜態方法
        public static void cry(){
            System.out.println("cry.....");
        }
    }

    測試結果

    Java如何定義interface接口

    3.接口細節02

    •注意事項和細節

    1)接口不能被實例化

    2)接口中所有的方法是 public方法,接口中抽象方法,可以不用abstract 修 飾

    3)一個普通類實現接口,就必須將該接口的所有方法都實現。

    4)抽象類實現接口,可以不用實現接口的方法。

    interface_detial.java

    package com.demo.Interface_;
    public class interface_detial {
        public static void main(String[] args) {
    //        1)接口不能被實例化
            //new IA();ERROR
        }
    }
    interface IA{
        //2)接口中所有的方法是 public方法,接口中抽象方法,可以不用abstract 修飾
        void say();//public 和 abstract可寫可不寫 
        void kk();
    }
    //        3)一個普通類實現接口,就必須將該接口的所有方法都實現。
    class cat implements IA{
        @Override
        public void say() {
            System.out.println("say.......");
        }
        @Override
        public void kk() {
            System.out.println("kk/.......");
        }
    }
    //        4)抽象類實現接口,可以不用實現接口的方法。
    abstract class dog implements IA{
    }

    4.接口細節03

    接口

    5)一個類同時可以實現多個接口

    6)接口中的屬性,只能是final的,而且是 public static final 修飾符。比如: int a=1;實際上是 public static final int a=1;(必須初始化)

    (7)接口中屬性的訪問形式:接口名.屬性名 

    8)一個接口不能繼承其它的類,但是可以繼承多個別的接口[舉例] interface A extends B,C{}

    9)接口的修飾符只能是 public 和默認,這點和類的修飾符是一樣的。

    示例interfacedetial02

    package com.demo.Interface_;
    public class interfacedetial {
        public static void main(String[] args) {
            //證明int n1=55;//等價于 public static final int n1=55;
            System.out.println("IB.n1="+IB.n1);//說明n1是static;
            //IB.n1=60;ERROR,說明n1是final
            N G = new N();
            System.out.println("G.n="+G.n);
            System.out.println("M.n="+M.n);
            System.out.println("N.n="+N.n);
        }
    }
    //5)一個類同時可以實現多個接口。
    interface IB{
        int n1=55;//等價于 public static final int n1=55;
        void aa();
    }
    interface IC{
        void bb();
    }
    // 8)一個接口不能繼承其它的類,但是可以繼承多個別的接口[舉例]
    interface ID extends IB,IC{
    }
    class pp implements IB,IC{
        @Override
        public void aa() {
            System.out.println("aa....");
        }
        @Override
        public void bb() {
            System.out.println("bb...");
        }
    }
    // 6)接口中的屬性,只能是final的,而且是 public static final 修飾符。比如:
    //  int a=1;實際上是 public static final int a=1;(必須初始化)
    //(7)接口中屬性的訪問形式:接口名.屬性名
    // 9)接口的修飾符只能是 public 和默認,這點和類的修飾符是一樣的。
    interface M{
        int n=66;
    }
    class N implements M{
    }

    測試結果

    Java如何定義interface接口

    5.接口多態特性

    •接口的多態特性

    1)多態參數(前面案例體現) 在前面的Usb接口案例,Usb usb,既可以接收手機對象,又可以接收相機對象,就體現了接口多態(接口引用可以指向實現了接口的類的對象)

    2)多態數組 : 演示一個案例:給Usb數組中,存放 Phone 和相機對象,Phone類還有一個特有的方法call()請遍歷Usb數組,如果是Phone對象,除了調用Usb 接口定義的方法外,還需要調用Phone 特有方法 call.

    3)接口存在多態傳遞現象.

    interfacePoly.java

    package com.demo.Interface_;
    public class interfacePoly {
        public static void main(String[] args) {
            //接口的多態體現
            //接口類型的變量可以指向實現了IF接口的對象實例
            IF if01=new QQ();
            if01 =new WW();
            //繼承的多態體現
            //父類類型的變量可以指向繼承了AAA的對象實例
            AAA t=new BBB();
            t=new CCC();
        }
    }
    interface IF{}
    class QQ implements IF{}
    class WW implements IF{}
    class AAA{
    }
    class BBB extends AAA{
    }
    class CCC extends AAA{
    }

    interfacePolyarr.java

    package com.demo.Interface_;
    public class interfacePolyarr {
        public static void main(String[] args) {
            //多態數組-》接口類型數組
            usbb []uu=new usbb[2];
            uu[0]=new ppp();
            uu[1]=new ttt();
            /*
            給Usb數組中,存放 Phone 和相機對象,Phone類還有一個特有的方法call()請遍歷Usb數組,
            如果是Phone對象,
            除了調用Usb 接口定義的方法外,還需要調用Phone 特有方法 call.
             */
            for(int i=0;i<uu.length;i++){
                uu[i].work();//動態綁定
                //要使用call方法,需要用到線下轉型
                if(uu[i] instanceof ppp){
                    ((ppp)uu[i]).call();
                }
            }
        }
    }
    interface usbb{
        void work();
    }
    class ppp implements usbb{
        public void call(){
            System.out.println("ppp........");
        }
        @Override
        public void work() {
            System.out.println("ppp在工作中");
        }
    }
    class ttt implements usbb{
        @Override
        public void work() {
            System.out.println("ttt工作中");
        }
    }

    測試結果

    Java如何定義interface接口

    以上就是“Java如何定義interface接口”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    龙里县| 宣恩县| 广州市| 安阳市| 开平市| 吉安市| 庆云县| 依兰县| 雷山县| 台前县| 太原市| 彝良县| 嫩江县| 铜梁县| 上虞市| 筠连县| 天祝| 锦屏县| 泰顺县| 神农架林区| 新宾| 斗六市| 西乌| 靖边县| 格尔木市| SHOW| 呈贡县| 遂溪县| 西丰县| 抚顺县| 肥乡县| 五家渠市| 平利县| 茂名市| 磐石市| 东乌| 龙海市| 潞城市| 龙山县| 库车县| 绥中县|