HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    接口可以實例化嗎(接口可以直接實例化么)

    發(fā)布時間:2023-03-19 12:20:03     稿源: 創(chuàng)意嶺    閱讀: 68        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于接口可以實例化嗎的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    本文目錄:

    接口可以實例化嗎(接口可以直接實例化么)

    一、父類對象引用子類的實例,接口也可以嗎

    你的說法是有問題的,接口是不能實例化的,所以沒有對象,嚴(yán)格來說是不可以,

    但是接口可以實現(xiàn)接口,所以也就擁有了父接口的參數(shù)與行為,不知道你是不是想問這個!

    二、C#為什么接口可以實例化一個實現(xiàn)該接口的類?

    這是多態(tài)的體現(xiàn)。

    首先接口不能實例化的。

    實現(xiàn)接口的類 實例 = new 實現(xiàn)接口的類()// 這樣用不好嗎?

    //這樣已經(jīng)不是好不好的問題了,這樣的話,要接口有什么用?

    //用接口就是讓實例和實現(xiàn)類的耦合度降低。

    //讓程序更加容擴(kuò)展。

    以下是問題之外的知識,想看可以往下,不想看跳過。

    接口 實例 = new 實現(xiàn)接口的類A()

    接口 實例 = new 實現(xiàn)接口的類B()

    接口 實例 = new 實現(xiàn)接口的類C()

    這樣的邏輯就是說,我們需要某個類,所以我們每次實例化它。

    如果把 ABC這三個類,再用一個類封D裝起來,會怎么樣呢?

    接口 實例 = D.A

    接口 實例 = D.B

    接口 實例 = D.C

    我們還是需要某個類,但是,我們不需要每次都實例化了,只需要找D“拿”就行。

    ==========暈,不知不覺寫了這么多,至于擴(kuò)展性,你自己想吧======

    TIPS:工廠模式。

    myblog :http://hi.baidu.com/snowleung

    三、HttpServletRequest是借口怎么可以實例化呢?又為什么可以調(diào)用里面的方法呢?如request.getParameter()

    給你寫個示例吧,道理是一樣的。接口不能實例化,實例化的是接口的實現(xiàn)類,用的方法也是接口實現(xiàn)類的方法,不是接口的方法。

    public class Demo {

        public static void main(String[] args) {

            Animal animal = new Dog(); // 接口引用指向?qū)崿F(xiàn)類的對象

            animal.howl(); // 調(diào)用的是實現(xiàn)類的方法

            Animal animal2 = new Cat();

            animal2.howl();

            Animal animal3 = new Animal() { // 匿名內(nèi)部類,也是對接口Animal的實現(xiàn)

                @Override

                public void howl() {

                    System.out.println("這是匿名內(nèi)部類");

                }

            };

            animal3.howl();

        }

    }

    // 狗

    class Dog implements Animal {

        @Override

        public void howl() {

            System.out.println("汪汪");

        }

    }

    class Cat implements Animal {

        @Override

        public void howl() {

            System.out.println("喵喵");

        }

    }

    // 動物接口

    interface Animal {

        void howl(); // 叫聲

    }

    四、在c++中,接口能實例化嗎?下面是接口實例化嗎?operFactory是什么?我初學(xué)。

    首先c++中沒有接口這個概念,interface也不是c++的關(guān)鍵字(是java和C#的),在C++中,可以用純虛類來實現(xiàn)接口的機(jī)制,而接口是不能實例化的。

    至于樓主的代碼,應(yīng)該是C#或java(兩者在語法層面上有80%的接近度),I為接口,Add為實現(xiàn)了該接口的類,實例化是實例化的Add,但是由于向上轉(zhuǎn)型的機(jī)制可以將一個類實例的引用賦值給一個接口聲明的對象。可以認(rèn)為Add也是一種I,在能夠使用I的地方都可以用Add,不知以上解釋是否清晰。

    以上就是關(guān)于接口可以實例化嗎相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    接口可以實例化嗎(接口可以直接實例化么)

    為什么要寫接口(為什么要寫接口再用類實現(xiàn))

    為什么使用接口

    開一個大店還是開2個小店好(開一個大店還是開2個小店好一點)

    室內(nèi)裝修材料明細(xì)表(室內(nèi)裝修材料明細(xì)表格模板)