3 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
class ShapeBuilder { ... public Shape build() { ....}class CircleBuilder extends ShapeBuilder{ ... @Override public Circle build() { ....}
如果返回類型是引用類型,則返回類型可能因重寫方法而異。返回類型可替換性的概念支持協(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}

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

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(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 { }}
添加回答
舉報(bào)