第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

重寫的方法在返回類型上會(huì)有所不同嗎?

重寫的方法在返回類型上會(huì)有所不同嗎?

哈士奇WWW 2019-07-27 15:15:18
重寫的方法在返回類型上會(huì)有所不同嗎?是否可以重寫方法不同返回類型?
查看完整描述

3 回答

?
www說

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊


Java支持*重寫方法的協(xié)變量返回類型。這意味著重寫的方法可能具有更多特定的返回類型。也就是說,只要新的返回類型可以分配給要重寫的方法的返回類型,就允許這樣做。

例如:

class ShapeBuilder {
    ...
    public Shape build() {
    ....}class CircleBuilder extends ShapeBuilder{
    ...
    @Override
    public Circle build() {
    ....}

這是在Java語言規(guī)范第8.4.5節(jié):

如果返回類型是引用類型,則返回類型可能因重寫方法而異。返回類型可替換性的概念支持協(xié)變量返回,即返回類型對(duì)子類型的專門化。

具有返回類型R1的方法聲明D1是返回類型R2的另一個(gè)方法D2的返回類型替換,當(dāng)且僅當(dāng)以下條件保持:

  • 如果R1為空,則R2為空。

  • 如果R1是原語類型,則R2與R1相同。

  • 如果R1是一個(gè)參考類型,那么:

    • R1是R2的子類型,也可以通過未經(jīng)檢查的轉(zhuǎn)換將R1轉(zhuǎn)換為R2的子類型(第5.1.9節(jié)),或

    • R1=\x{e76f}

中定義的r2的擦除。第4.6條.)


*在Java 5之前,Java有不變量返回類型,這意味著與被重寫的方法完全匹配所需的方法重寫的返回類型。



查看完整回答
反對(duì) 回復(fù) 2019-07-28
?
飲歌長嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

是的,它可能有所不同,但它們有一些局限性。

在Java5.0之前,當(dāng)您重寫一個(gè)方法時(shí),參數(shù)和返回類型都必須完全匹配。在Java5.0中,它引入了一個(gè)名為協(xié)變量返回類型的新工具??梢灾貙懢哂邢嗤灻姆椒ǎ祷氐膶?duì)象的子類。換句話說,子類中的方法可以返回一個(gè)對(duì)象,該對(duì)象的類型是該方法返回的類型的子類,在超類中具有相同的簽名。



查看完整回答
反對(duì) 回復(fù) 2019-07-28
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

是的,如果他們返回一個(gè)子類型。下面是一個(gè)例子:

package com.sandbox;public class Sandbox {

    private static class Parent {
        public ParentReturnType run() {
            return new ParentReturnType();
        }
    }

    private static class ParentReturnType {

    }

    private static class Child extends Parent {
        @Override
        public ChildReturnType run() {
            return new ChildReturnType();
        }
    }

    private static class ChildReturnType extends ParentReturnType {
    }}

此代碼編譯并運(yùn)行。



查看完整回答
反對(duì) 回復(fù) 2019-07-28
  • 3 回答
  • 0 關(guān)注
  • 379 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)