国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java--接口

2019-11-06 08:47:05
字體:
來源:轉載
供稿:網友

小計: 沒有多態就沒有抽象,沒有抽象就沒有接口,沒有接口就沒有java 子類引用賦值給父類引用,可以直接賦值。 父類引用給子類引用,必須強轉。 強轉,兩邊都是接口,或者右邊是接口,編譯器可以通過 接口沒有實現對象,接口的實現類才有對象 1、接口: 特殊的抽象類 1)所有的屬性都是公開靜態的常量 可以省略修飾符 2)所有的方法都是公開抽象的方法 可以省略修飾符 3)沒有構造方法 ClassA比IA多一個構造方法。 一個類去實現接口,如果這個類不希望也成為抽象類,就必須實現接口中的所有方法。

package chp8;public class TestInterface{ public static void main(String[] args){ /*IA a=new Impl(); a.ma1(); a.ma2*/ Impl i=new Impl(); IA a=i; IB b=i; IC c=i; ID d=i; ClassE e=i; a.ma1(); a.ma2(); b.mb(); c.mc(); d.mb(); d.mc(); d.md(); e.me(); /*System.out.PRintln(i instanceof IA); System.out.println(i instanceof IB); System.out.println(i instanceof IC); System.out.println(i instanceof ID); System.out.println(i instanceof ClassE);*/ }}abstract class ClassA{ public static final int M=10; public static final double N=2.78; public abstract void ma1(); public abstract void ma2();}interface IA{ public static final int M=10; public static final double N=2.78; public abstract void ma1(); public abstract void ma2();}interface IB{ void mb();}interface IC{ void mc();}interface ID extends IB,IC{ void md();}abstract class ClassE{ public abstract void me();}class Impl extends ClassE implements IA,ID { public void ma1(){ } public void ma2(){ } public void mb(){} public void mc(){} public void md(){} public void me(){} }

implements 實現

接口與接口之間可以繼承: 類與類之間是單繼承。 一個類在繼承另外一個類的同時,還可以實現多個接口

子類引用賦值給父類引用,可以直接賦值。 父類引用給子類引用,必須強轉。 強轉,兩邊都是接口,或者右邊是接口,編譯器可以通過

package chp8;public class TestClassCast{ public static void main(String[] args){ Animal a=new Snoopy(); Dog d=(Dog)a; Person p=(Person)a; }}class Animal{}class Dog extends Animal{}//class Person{}interface Person{}class Snoopy extends Dog implements Person{}

作用(面試) 利用接口實現多繼承,不會破壞類之間樹狀關系的簡單性。 SUN公司目的接口不主要是多繼承 接口所有的方法全是抽象方法 定義了接口,就是定義了標準—-就是弱耦合性 任何弱耦合性,都需要標準的支持

package chp8;public class TestInterface2{ public static void main(String[] args){ Lamp I=new Lamp();//臺燈 YellowLight light=new YellowLight();//燈泡 I.setLight(light);//把臺燈安裝在臺燈上 I.powerOn();//打開臺燈 RedLight rl=new RedLight();//買個紅燈泡 I.setLight(rl);//把臺燈安裝在臺燈上 I.powerOn(); }}interface Light{ void on();}class Lamp { private Light light=null; public void setLight(Light light){ this.light=light; } public void powerOn(){ //light.lightOn(); light.on(); }}class YellowLight implements Light{ public void on(){ System.out.println("發出黃光"); }}class RedLight implements Light{ public void on(){ System.out.println("發出紅光"); }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 应城市| 榆中县| 广平县| 梧州市| 阜宁县| 青浦区| 托克托县| 教育| 蓬溪县| 丹东市| 民权县| 加查县| 天等县| 工布江达县| 泽州县| 轮台县| 库伦旗| 肇源县| 射阳县| 澜沧| 台东县| 突泉县| 华宁县| 义马市| 融水| 天门市| 神木县| 丹阳市| 宁安市| 衡水市| 宜章县| 开阳县| 山阳县| 新邵县| 遂昌县| 岫岩| 东港市| 简阳市| 木兰县| 信宜市| 光山县|