Java 如何从一个类生成不同类型的对象?
邮箱类Java 如何从一个类生成不同类型的对象?,java,Java,邮箱类 public class MailBox { ArrayList<TwootMessage> messages = new ArrayList<TwootMessage>(); public void addMessage(TwootMessage message){ if(messages.size() < 100){ messages.add(message)
public class MailBox {
ArrayList<TwootMessage> messages = new ArrayList<TwootMessage>();
public void addMessage(TwootMessage message){
if(messages.size() < 100){
messages.add(message);
Collections.sort(messages);
}
else{
System.out.println("The Mailbox is full, cant add more messages, sorry!");
}
}
public void deleteMessage(int messageIndex){
messages.remove(messageIndex);
}
public TwootMessage getFirstMessage(){
return messages.get(0);
}
}
公共类邮箱{
ArrayList消息=新建ArrayList();
public void addMessage(TwootMessage){
if(messages.size()<100){
消息。添加(消息);
集合。排序(消息);
}
否则{
System.out.println(“邮箱已满,无法添加更多邮件,抱歉!”);
}
}
公共void deleteMessage(int messageIndex){
messages.remove(messageIndex);
}
公共消息getFirstMessage(){
返回消息。获取(0);
}
}
这是我的密码。我试图从这个类中创建两种类型的邮箱,一种只接受TextTwoot,另一种接受所有内容。TwoootMessage是textTwoot和其他类型Twoot的超类。
有人能帮忙吗?
谢谢你让课程变得通用:
public class MailBox<T> {
List<T> messages = new ArrayList<T>();
public void addMesssage(T message) {
//implementation goes here.
}
public T getFirstMessage() {
return messages.get(0);
}
}
公共类邮箱{
列表消息=新建ArrayList();
公共无效地址消息(T消息){
//实现就在这里。
}
公共T getFirstMessage(){
返回消息。获取(0);
}
}
这将允许您创建以下对象:
MailBox<TwoootMessage> twootMessageMailbox = new MailBox<TwoootMessage>();
MailBox<Object> mailBoxForEverything = new MailBox<Object>();
MailBox twootMessageMailbox=new MailBox();
邮箱mailBoxForEverything=新邮箱();
谢谢,但在实际创建对象时,代表什么以及如何使对象彼此不同?T代表泛型类型。阅读更多: