簡體   English   中英

如何定義子 class 從通用 class 擴展

[英]How to define a child class extends from generic class

我是 java 的新手。 我無法理解課程的工作原理。 例如,我有一個超級 class 消息和子類 StudentMessage 和 TeacherMessage。 這是代碼:

public class Message<T> {
    protected T messageInfo;
}

public class StudentMessage extends Message {
    protected StudentInfo messageInfo;
}

public class TeacherMessage extends Message {
    protected TeacherInfo messageInfo
}

還有 Info class,它是通用的 class 和 StudentInfo 和 TeacherInfo 子類從 Info class 擴展。

所以當我實例化StudentMessage object時,是不是:

Message<StudentMessage> studentMessage = new Message<StudentMessage>();

我可以通過以下方式訪問 StudentInfo

studentMessage.messageInfo //something like this

我不確定這是否是實現我想要實現的目標的正確方法。 請幫我。

您需要參數化正在擴展的 class :

public class StudentMessage extends Message<StudentInfo> { ... }
public class TeacherMessage extends Message<TeacherInfo> { ... }

此外,刪除子類中的messageInfo字段。

像這樣實例化:

StudentMessage studentMessage = new StudentMessage();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM