例如:
我有两种类型的对象:
public class Image {
...
}
和
public class Video {
...
}
我希望有一个包含这两个对象的列表的类,如下所示:
public class Media {
private List<Object> mediaList = new....
....
}
答案 0 :(得分:3)
创建一个父类,让Image和Video成为其子类。
然后,您可以创建父类型列表。
import java.util.ArrayList;
import java.util.List;
public class Example
{
public abstract ImageVideo
{
}
public class Image extends ImageVideo
{
}
public class Video extends ImageVideo
{
}
public static class Media
{
public static void main( String args[] )
{
Image image = new Example().new Image();
Video video = new Example().new Video();
List<ImageVideo> mediaList = new ArrayList<ImageVideo>();
mediaList.add( image );
mediaList.add( video );
}
}
}
此外,以下编译,当您从列表中检索对象时,您只需要将对象强制转换。
import java.util.ArrayList;
import java.util.List;
public class Example
{
public class Image
{
}
public class Video
{
}
public static class Media
{
public static void main( String args[] )
{
Image image = new Example().new Image();
Video video = new Example().new Video();
List<Object> mediaList = new ArrayList<Object>();
mediaList.add( image );
mediaList.add( video );
}
}
}
答案 1 :(得分:0)
创建父类。
public abstract Class MediaFormat{
}
然后是子类
public class Image extends MediaFormat{
...
}
public class Video extends MediaFormat{
...
}
然后终于
public class Media {
private List<MediaFormat> mediaList = new List<MediaFormat>();
...
}
父类(MediaFormat)是抽象的。这样可以确保无法实例化MediaFormat。