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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 不能用不同的參數(shù)繼承

Java 不能用不同的參數(shù)繼承

溫溫醬 2022-07-27 21:03:21
我在實際繼承接口時遇到了麻煩。我一直以錯誤結(jié)束錯誤:NameableContainer 不能用不同的參數(shù)繼承:<Friend> 和 <>我有以下接口:public interface Nameablepublic interface Namepublic interface Friend extends Nameablepublic interface NameableContainer<T extends Nameable> {    void add(Name name, Name prevName);    void remove(Nameable nameable);    T findByName(Name name);}public interface FriendContainer extends NameableContainer<Friend>我還有一個繼承 NameableContainer 的抽象類。public abstract class NameableMap implements NameableContainer {    public void add(Name name, Name prevName) { /* do stuff*/ }    public void remove(Nameable nameable) { /* do stuff*/ }    public Nameable findByName(Name name) { /* do stuff*/ }}最后,試圖把這些放在一起public class Friends extends NameableMap implements FriendContainer我錯過了什么?
查看完整描述

2 回答

?
狐的傳說

TA貢獻1804條經(jīng)驗 獲得超3個贊

當(dāng)您說時,您正在使用原始類型


public abstract class NameableMap implements NameableContainer

這會在編譯器中拋出所有東西;除非您的代碼最初是為 java 1.4 或更早版本編寫的,否則原始類型是錯誤的。當(dāng)你實現(xiàn)一個指定類型參數(shù)的接口時,你要么需要提供一個具體類型,要么如果還不知道,你可以引入另一個類型參數(shù)并將它傳遞給超類型。


請參閱:什么是原始類型,為什么我們不應(yīng)該使用它?


因此,您在實現(xiàn)時指定了一個可變的泛型類型參數(shù)NameableContainer(因為您還不知道具體類型,因為它NameableMap也應(yīng)該適用于所有 Nameables。


public abstract class NameableMap<T extends Nameable> implements NameableContainer<T>

//                               ^^^^^^^^^^^^^^^^^^^^                             ^^^



查看完整回答
反對 回復(fù) 2022-07-27
?
搖曳的薔薇

TA貢獻1793條經(jīng)驗 獲得超6個贊

將整個程序中的所有代碼移到一個類中并放在一行



查看完整回答
反對 回復(fù) 2022-07-27
  • 2 回答
  • 0 關(guān)注
  • 348 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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