例如:
我有两种类型的对象:
public class Image {
...
}
和
public class Video {
...
}
我想要一个包含这两个对象的单个列表的类,如下所示:
public class Media {
private List<Object> mediaList = new....
....
}
例如:
我有两种类型的对象:
public class Image {
...
}
和
public class Video {
...
}
我想要一个包含这两个对象的单个列表的类,如下所示:
public class Media {
private List<Object> mediaList = new....
....
}
创建一个父类,并让 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 );
}
}
}
创建一个父类。
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 不能被实例化。