a aa = new d();//可以換成其它的實現,比如 new b(); new c();
a.println();
a.text("ffff");
看接口不能靜態的看它
1、接口可以封裝底層實現的變化
妳知道Line, Circle 都是Shape,而在Shape這個接口中,妳定義了所有妳需要的操作,這樣妳就可以不管Shape是Line,還是Circle,而只需要他是Shape,就可以操作了
這樣對客戶端就封裝了底層實現的變化
2、接口有利於系統的擴展
同樣是上面的例子,因為對客戶端,妳開放的只是 Shape的接口,當妳的Shape有增加或變化的時間,妳不需要通知客戶端
在OO的設計中重要的壹條就是對接口編程而不是對實現編程
因為有了接口才有了多態,多重繼承
有了多態才有了靈活的動態綁定。
其實可以這麽說:有了接口(抽象)才有了OO
妳可以取百度搜下 為什麽用接口 java
---------------------------------
別人只能調用接口的方法,妳說的“給”的意思如果是指把b和c的class文件拷貝過去的話,是要給的
List list = null;
list.size();
運行時會包空指針異常的(剛試過)