接口的概念

接口的概念

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("睡觉啊");
	}
	
}