/*接口是java語(yǔ)言中為解決無法實(shí)現(xiàn)多繼承而提供的一個(gè)解決方案。
* 接口就是一個(gè)特殊的抽象類,接口中只提供了方法的原型,沒有提供具體的方法實(shí)現(xiàn)。
*? 子類必須提供父類中抽象方法的實(shí)現(xiàn)方式。
*? ? 接口和抽象類一樣可以定義抽象的方法,并在接口中只能包含抽象的方法和常量,不能有變量,初始化塊和構(gòu)造函數(shù)。
*? ? ? 接口中的成員變量默認(rèn)都是public abstract? final類型的
*? ? ? ? java接口中的方法默認(rèn)都是public,abstract類型的
*? ? ? ? ? 接口中的變量發(fā)必須初始化,并且方法必須是抽象方法
*? ? ? ? ? ? 一個(gè)接口不能實(shí)現(xiàn)另一個(gè)接口,但它可以繼承多個(gè)其它的接口
*? ? ? ? ? ? ? 接口不允許實(shí)例化,接口只能繼承接口,不能繼承普通類和抽象類
*/
public interface Stdudent {
int clas=0604;//設(shè)置班級(jí)
? void learing ();//以下定義了三個(gè)方法
? void eat();
? void sleep();
}
class Student1? implements Stdudent{
//【修飾符】 class <類名> 【extends父類名】 【implements 接口列表】
@Override
//對(duì)于接口的使用,是必須由接口的實(shí)現(xiàn)類來實(shí)現(xiàn)的,就要用到接口的實(shí)例化? 接口 對(duì)象名=new 接口的實(shí)現(xiàn)類();
public void learing() {
System.out.println("我正在學(xué)習(xí)");
}
@Override
public void eat() {
System.out.println("我正在吃飯");
}
@Override
public void sleep() {
System.out.println("我正在睡覺");
}
}