導航:首頁 > 編程語言 > java介面多態

java介面多態

發布時間:2022-03-14 05:19:02

A. 求詳解java中的介面與多態

多態是面向對象的核心之一,面向介面編程也是以面向對象編程為核心。
介面就是一種規范,我們平時編程要融入生活,比如說電腦的主板,上面有很多介面,插CPU得介面只要插上CPU就可以工作,不管它是哪個廠家生產的CPU,不管它內部如何工作,只要是CPU就可以用。好比你寫個介面,裡面有個fly方法,實現此介面的類都要實現這個方法,至於你如何飛是你的問題,不管你用翅膀飛,還是騎掃把飛,只要實現』fly飛『就可以。
上面是讓你將編程融入生活,說說編程的東西。
多態就是父類或者介面的引用指向子類的對象的情況。比如child類 extends Fahter類
那麼可以Father f=new Child(); 如果一段代碼可以用父類運行,當換成子類時,功能不變,那麼就是多態。多態主要一定要記得兩段話,編譯時看引用,運行時看對象。這句話的意思是在IDE編譯階段,你用f點出來的方法(f.這里會提示Father類有得實例方法)都是Fahter類自己有得,而Child類里自己有得方法不會被自動提示出來。但是如果子類重寫父類的方法了(重寫:就是子類定義了一個與父類一模一樣的方法,只是方法體不同),運行時還要看後面new出來的是誰,new Child();那麼執行要執行Child類重寫的方法體,這樣做的好處是我可以在一個方法里寫f.fly();(比如Father和Child都有fly方法)
public void test(Father f){
f.fly();
} 在這樣的代碼下 我裡面代碼不用動,但是可以讓f.fly()效果不同,因為我傳進去的子類對象可以不同,比如test(new Child1()); test(new Child2()); test(new Child3());然而這三個子類裡面的fly都有自己的具體實現,這就是多態的表現,同一個引用調用同一個方法而表現出多種狀態。介面換成父類是一樣的。 再有不懂得地方追問。 呵呵

B. JAVA里多態和介面有什麼區別

多態是面向對象編程的特徵之一,而介面是一系列方法的聲明,是一些方法特徵的集合,有特定的語法和結構,這兩者根本不是同一類型和層次上的概念。介面毫無疑問可以體現出多態性來,但是多態性未必一定要用介面,只要存在方法的重寫、重載與動態連接即可體現多態性(如存在繼承關系的類之間),所以,不存在「什麼時候用介面什麼時候用多態」的問題,程序里寫的具體代碼只可能是介面,只是這代碼可能會體現出多態性而已,兩者可以在不同的概念層次上並存,不存在沖突。
簡而言之,你可以在程序里用代碼定義一個介面,但是你不能定義一個多態,多態只是對你代碼特徵的一種描述,一種概念上的抽象和總結。

C. java介面類得實現以及多態性

沒有java介面類,只有介面,類,介面對應的實現類;
A介面interface,B類class實現A介面implements,C類和D類都繼承B類extends【這個就是多態】

D. java中如何正確使用介面 用介面如何正確的實現多態

這個東西很范哦 。。。。 總的來說就是你有一組性質相類似的類需要創建的時候,就可以用到介面來規定相同的方法, 在實際項目開發當中 例如MVC 模式開發 當中的 資料庫的相應操作類,可以建介面 也可以用介面來做標示, 比如 序列化的介面就是一個空的介面標示。

重寫介面的方法就是實現了 方法的多態啊, tostring 這個方法應該是重寫的比較多的吧!

E. java介面有多態性,這個怎麼理解

樓主可以這樣理解,介面的出現是為了更好的實現多態,而多態的實現不一定需要依賴於介面
舉個例子,多態肯定知道,一般有三種,介面的多態,類的多態,方法的多態
方法的多態就類似於我們方法的重載,這里不贅述
類的多態無非就是子類繼承父類,並重寫父類的方法,從而獲得不同的實現
那麼再來看介面,介面跟類基本是一樣,實現介面並實現介面的方法。。不同的類實現介面可以有不同的方式從而表現不同的行為,就是介面的多態性啊。

F. JAVA中簡述介面如何實現多態

介面裡面 方法重載
就是方法名相同,參數(個數或類型)不同 如

public interface A
{
public String functionA();

public String functionA(Integer a);

public String functionA(char a,String b,Integer c);

}

G. Java中 介面是如何實現多態的特性的

  1. 概念

    Java中多態是個很難理解的概念,但同時又是非常重要的概念,

    Java三大特性(封裝、繼承、多態)之一,
    我們從字面上理解,就是一種類型的多種狀態,
    一下通過賣小汽車的例子再次說明什麼是多態,其中利用到了介面。

  2. 案例

    //汽車介面
    interface Car{
    //要求 介面中有:汽車名稱和售價

    String getName();
    int getPrice();

    }

    //寶馬類
    class BMW implements Car{

    @Override
    public String getName() {
    // TODO Auto-generated method stub
    //return null;
    return "寶馬";
    }

    @Override
    public int getPrice() {
    // TODO Auto-generated method stub
    //return 0;
    return 300000;
    }

    }

    //奇瑞QQ
    class CheryQQ implements Car{

    @Override
    public String getName() {
    // TODO Auto-generated method stub
    return "奇瑞QQ";
    }

    @Override
    public int getPrice() {
    // TODO Auto-generated method stub
    return 40000;
    }

    }

    //汽車出售店
    class CarShop{
    //收入
    private int money=0;

    //賣出一部汽車
    public void sellCar(Car car){
    System.out.println("車型:"+car.getName()+"價格:"+car.getPrice());
    //增加賣出車售價的收入
    money+=car.getPrice();
    }
    //售車總收入
    public int getMoney(){
    return money;
    }
    }

    public class jieKouDemo {
    public static void main(String[]args){
    CarShop shop=new CarShop();
    //賣出一輛寶馬
    shop.sellCar(new BMW());
    //賣出一輛奇瑞QQ
    shop.sellCar(new CheryQQ());

    System.out.println("總收入:"+shop.getMoney());
    }

    結果:

H. java怎麼用介面實現多態啊 急求

public boolean graate(CanObtainCredit coc){
if(coc.obtainCredit()) return true;

else return false;
}

這就是多態了。
多態實際上就是介面的不同實現。

I. Java中介面、介面的實現和多態的問題

沒錯,這就是多態。介面實現的多態,意味著介面UserService負責定義方法的名字,形參列表和返回值,而不考慮其具體實現,調用方UserBlh也不必了解findUser,saveOrUpdate這兩方法由誰來實現,只需知道這userService指針指向的對象已經實現了這兩個方法,那麼調用方UserBlh只管調用就好。


「調用的是介面UserService中對應的方法,還是調用的是介面的實現UserServiceImpl中對應的方法」看來你可能不太清楚在實現層(語言編譯的技術)上如何做的。

具體來說,1.方法實際上就是一段可執行的代碼。而介面UserService其實就是定義了一個數據結構(其實就是虛函數表),而不定義方法本身(就是介面沒有定義可執行的代碼塊)

2.介面UserService的子類UserServiceImpl在構造函數里要往這個表填一些東西,這個東西就是子類UserServiceImpl所定義的可執行代碼塊的入口地址。

3.當調用方UserBlh調用findUser方法,則通過查虛函數表的方式找到那個findUser方法的地址,進行調用。

給張圖幫助說明從技術的角度如何實現多態。(假設還有一個類B也實現了介面UserService)

J. 關於java實現介面中蘊含的多態問題,請誰詳細說下。

多態就是指同一個介面可以被多個對象實現繼承。
就像中國有句古話,龍生九子各有不同是一個道理,爸爸一樣,但是兒子還是有區別的。
2個對象同時實現了同一個介面,不表示2個對象會把介面里所有的方法都重寫。
比如介面有2個方法,一個是fly(),另一個是run();但是你如果用bird實現這介面,那你就只能實現fly方法,如果是tiger實現介面,那你實現run方法就可以。如果是既可以飛又可以跑,那你2個方法都實現。
具體要怎麼實現多態,得看你對象的需求了。

閱讀全文

與java介面多態相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:400
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:313