[英]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.