接口的概念
、
package test2;
import java.awt.print.Printable;
public class iterfacedemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
girl girl=new girl();
girl.eat();
girl.eat2();
girl.run();
girl.sleep();
}
}
//接口不是类。要与抽象类区别开。
interface Ieat{
//接口中定义的是一些“动作”(例如 吃?说?拉?撒?睡?)或“常量”
//一般不定义属性。
public abstract void eat();//接口中只能定义 抽象方法!!!!!!!!!!!!!!!
void eat2();//接口中方法没有修饰符的时候,默认是public abstract,这是简写方式
public static final int NUM=10; //接口中可以定义常量
int NUM2=1;//同上,简写方式
//jdk1.8有个新特性,就是接口中可以有个 默认方法
public default void Printable() {//注意 default关键字,这个方法不是抽象方法。一般来说,接口中只能有抽象方法。
System.out.println("erwer");
}
}
interface run{
void run() ;
}
//接口之间能相互继承
interface Isleep extends Ieat,run{//接口可以多重继承,注意:类只能单继承。
void sleep();
}
//实现接口必须实现接口内的所有方法。
//实例化一个继承自抽象类的类,必须实现该抽象类中的所有方法。若多重继承,则需实现多重继承的所有方法 (祥例见ab.java)
class girl implements Isleep,Ieat{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("跑啊");
}
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("吃啊");
}
@Override
public void eat2() {
// TODO Auto-generated method stub
System.out.println("吃啊2");
}
@Override
public void sleep() {
// TODO Auto-generated method stub
System.out.println("睡觉啊");
}
}