一、接口的定义
interface接口名称{
全局常量;//不能定义变量
抽象方法;
}
二、接口示例代码
interface IEat{
//public abstract void eat(); //接口中只能定义抽象方法
//另一种写法
void eat(); //接口中定义的方法没有声明修饰符,默认为public abstract
//public static final int NUM =10;//在接口中定义一个常量
//另一种写法
int NUM = 10; //常量简写形式
}
三、接口的概念
1.接口是一组行为的规范、定义,没有实现(JDK1.8默认方法)
2.使用接口,可以让我们的程序更加利于变化
3.接口是面向对象编程体系中的思想精髓之一
4.面向对象设计法则:基于接口编程
四、接口使用规则
1.定义一个接口,使用interface关键字
2.在一个接口中,只能定义常量、抽象方法,JDK1.8后可以定义默认的实现方法
3.接口可以继承多个接口:extends xxx,xxx,xxx
4.一个具体类实现接口使用implements关键字
5.一个类可以实现多个接口
6.抽象类实现接口可以不实现接口的方法
7.在接口中定义的方法没有声明访问修饰符,默认为public
8.接口不能有构造方法
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(); //接口中定义的方法没有声明修饰符,默认为public abstract
//public static final int NUM =10;//在接口中定义一个常量
//另一种写法
int NUM = 10; //常量简写形式
//在JDK1.8后新特性,可以被所有实现类继承
public default void print()
{
System.out.println("打印");
}
}
interface IRun{
void run();
}
//接口之间可以多继承(注意:类只能单继承)
interface ISleep extends IEat,IRun{
void sleep();
}
//具体类实现接口必须实现接口的所有方法
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