我有这个方法:
private Message getMessage(DataInputStream in) throws IOException {
CommandEnum caption = CommandEnum.valueOf(in.readUTF());
BasicMessage inputMessage;
if (caption.equals(CommandEnum.BEGIN) || caption.equals(CommandEnum.FILEADDRESS)
|| caption.equals(CommandEnum.CONTAINNAMESERVER))
inputMessage = new AddressMessage(caption,in.readUTF(),in.readInt());
if (caption.equals(CommandEnum.CONTAINFILE) || caption.equals(CommandEnum.DONTCONTAINFILE)
|| caption.equals(CommandEnum.WANTFILE))
inputMessage = new FileMessage(caption,in.readUTF());
else
inputMessage = new BasicMessage(caption);
in.readUTF();
return inputMessage;
}
签名声明方法 return Message
,这是我创建的一个对象。请注意,在某些情况下,它会返回AddressMessage
我的另一个扩展对象Message
。
我的问题 - 万一我返回新的AddressMessage(arguments)
,我以后不能把它变成一个AddressMessage
对象[写作(AddressMessage) object
]