比方說,我有一個接口「內部」,和國際米蘭有一個方法如何指定方法的返回類型爲調用該方法的對象的類型?
Inter someMethod();
我怎麼可以指定返回對象的類型必須是同在該方法被調用的對象? 因此,如果我有兩個實現Inter的類「C1」和「C2」,如果C1的一個實例調用someMethod(c1.someMethod()
),結果將是C1的一個實例,而如果C2的一個實例調用someMethod,結果將是C2的實例。
參數如何?如果國際米爾有第二種方法
void someMethod2(Inter inter)
我該如何指定該參數必須是與調用該方法的對象相同的類的實例?
這是訣竅。有一件事: 「公共類C1實現國際」 我可以強迫在這裏,「C1」不能實現Inter 以外的其他Inter嗎? –
user2460978
這是設計。如果您嘗試,您會收到編譯器錯誤:C1實現Inter,Inter 但是,如果您的意思是防止:C1實現Inter 我不認爲這是可能的。 –
我的意思是如果您嘗試使用「C1實現Inter」,或者通常「X實現Inter 」,則會出現編譯錯誤。因爲使用這種方法,接口本身不會強制someMethod()的返回類型必須與調用該方法的對象的類型相同。 –
user2460978