java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌
版權聲明:轉載原創文章請以超鏈接形式請注明原文章出處,尊重作者,尊重原創!
恰飯廣告
接口:接口是抽象方法的集合。接口通常以interface來聲明。
接口注意事項:
1、嚴格來說,接口是用來實現(implements),而不是繼承(extends)。
2、接口對象不能直接使用關鍵字new進行實例化,可以利用子類對象的向上轉型進行實例化。
3、接口必須要有子類,子類可以實現(implements)多個接口,而且一個接口也能繼承另一個接口。
4、接口的成員只能是常量,不能是變量。如String name;(變量)。String name=bing;(常量)。
5、接口的成員和方法一般都是對外開放的(public) ,【private 、protected 、abstract】不能去修飾接口的常量。【protected、private、static、final】不能去修飾接口的方法。
6、定義接口方法和常量的時候就算沒有寫上public,那么最終的訪問權限也是public,而不是default。
7、為了節省打字時間,接口的方法默認都是public abstract修飾。
接口的示例代碼:
public interface OneInterface {? //接口1
public static final String oneName = "小明";//全局常量
public abstract void msgOne();//公共抽象方法,無return
}
interface TwoInterface{? //接口2
public static final String twoName = "小紅";//全局常量
public abstract String msgTwo();//公共抽象方法,有return
}
要去實現接口的子類:
public class Test implements OneInterface,TwoInterface{ //多接口實現
@Override
public void msgOne() { //子類去實現接口1的方法
System.out.println(oneName);
}
@Override
public String msgTwo() { //子類去實現接口2的方法
System.out.println(twoName);
return twoName;
}
public static void main(String[] args){
Test t=new Test(); //子類實例對象
t.msgOne(); //對象調用方法
t.msgTwo();
}
}
接口的作用:(不是三言兩語就能說清楚的)
1、解決了java的單一繼承(extends)。
抽象類:abstract修飾的類。
抽象類注意事項:
1、abstract 可以修飾類或方法,但不可以修飾成員和構造方法。
2、抽象類對象不能通過new關鍵字實例化。
3、抽象方法不在聲明它的類中實現,但必須在某個子類中重寫。
4、abstract 關鍵字不能應用于 static、private 、 final 修飾的方法,因為這些方法不能被重寫。
5、抽象類不一定要有抽象方法,但有抽象方法的類必定是抽象類。
抽象類代碼例子:
public abstract class Abstract {
String oneName="小明";
String twoName="小紅";
public abstract void msgOne(); //抽象類自己的不能實現的方法
public abstract String msgTwo();
static void test(){? //抽象類自己的可以實現的方法
System.out.println("小明\n小紅");
}
public static void main(String[] args){
test();? //抽象類不能創建對象,所以用static修飾方法,方便調用
}
}
繼承抽象類的子類:
public class Test extends Abstract{? //繼承抽象類
@Override
public void msgOne() {? //重寫了抽象類的方法
System.out.println(oneName);
}
@Override
public String msgTwo() {? //重寫了抽象類的方法
System.out.println(twoName);
return twoName;
}
public static void main(String[] args){
Test t=new Test();? //子類實例對象
t.msgOne(); //對象調用方法
t.msgTwo();
}
}
運行結果:(相同)
小明
小紅
接口與抽象類的區別:
1、接口多實現,抽象單繼承。
2、抽象類中有自己可以實現的方法體,但接口不行。
3、抽象類可以有靜態代碼塊和靜態方法,但接口不行。
4、圖:
最后:仔細認真理解!
讓我恰個飯吧.ヘ( ̄ω ̄ヘ)
支付寶 ——————- 微信
恰飯廣告
總結
以上是生活随笔為你收集整理的java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web开发的java语言步骤_java
- 下一篇: mysql特效_MySQL树 – 前