17.JAVA編程之接口(重要)

一、接口的定義

interface接口名稱{
全局常量;//不能定義變量
抽象方法;
}

二、接口示例代碼

interface IEat{
    //public abstract void eat(); //接口中只能定義抽象方法
    //另一種寫法
    void eat(); //接口中定義的方法沒有聲明修飾符,默認(rèn)為public abstract
    //public static final int NUM =10;//在接口中定義一個常量
    //另一種寫法
    int NUM = 10;  //常量簡寫形式
}

三、接口的概念

1.接口是一組行為的規(guī)范、定義,沒有實現(xiàn)(JDK1.8默認(rèn)方法)
2.使用接口,可以讓我們的程序更加利于變化
3.接口是面向?qū)ο缶幊腆w系中的思想精髓之一
4.面向?qū)ο笤O(shè)計法則:基于接口編程

四、接口使用規(guī)則

1.定義一個接口,使用interface關(guān)鍵字
2.在一個接口中,只能定義常量、抽象方法,JDK1.8后可以定義默認(rèn)的實現(xiàn)方法
3.接口可以繼承多個接口:extends xxx,xxx,xxx
4.一個具體類實現(xiàn)接口使用implements關(guān)鍵字
5.一個類可以實現(xiàn)多個接口
6.抽象類實現(xiàn)接口可以不實現(xiàn)接口的方法
7.在接口中定義的方法沒有聲明訪問修飾符,默認(rèn)為public
8.接口不能有構(gòu)造方法
9.接口不能被實例化
代碼:

public class Demo {

    public static void main(String[] args) {
        Girl g = new Girl("晶晶");
        g.sleep();
        g.eat();
        g.run();
        g.print();
    }
}

interface IEat{
    //public abstract void eat(); //接口中只能定義抽象方法
    //另一種寫法
    void eat(); //接口中定義的方法沒有聲明修飾符,默認(rèn)為public abstract
    //public static final int NUM =10;//在接口中定義一個常量
    //另一種寫法
    int NUM = 10;  //常量簡寫形式
    //在JDK1.8后新特性,可以被所有實現(xiàn)類繼承
    public default void print()
    {
        System.out.println("打印");
    }
}

interface IRun{
    void run();
}

//接口之間可以多繼承(注意:類只能單繼承)
interface ISleep extends IEat,IRun{
    void sleep();
}

//具體類實現(xiàn)接口必須實現(xiàn)接口的所有方法
class Girl implements ISleep{
    private String name;
    public Girl(String name)
    {
        this.name = name;
    }
    @Override
    public void eat() {
        System.out.println("我是"+name+"我愛吃水果");
    }

    @Override
    public void run() {
        System.out.println("我愛運動");
    }

    @Override
    public void sleep() {
        System.out.println("我愛睡覺");
    }
}

運行效果:


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 整理來自互聯(lián)網(wǎng) 1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工具...
    Ncompass閱讀 1,619評論 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)...
    慕容小偉閱讀 1,952評論 0 10
  • 一:java概述:1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,816評論 0 11
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,428評論 0 2
  • 面向?qū)ο笾饕槍γ嫦蜻^程。 面向過程的基本單元是函數(shù)。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,220評論 0 4

友情鏈接更多精彩內(nèi)容