一、接口的定義
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