Java 声明并遍历扩展类的类的ArrayList

Java 声明并遍历扩展类的类的ArrayList,java,arraylist,Java,Arraylist,我可能用了错误的方法,但是否可以迭代扩展特定类的类集合?我想宣布如下: ArrayList<? extends InterfaceComponent> components = new ArrayList<? extends InterfaceComponent>(); ArrayList试试这个: arraylistcomponents=new ArrayList() 在该列表中,您可以拥有实现InterfaceComponent的任何对象 编辑:像这样迭代: for

我可能用了错误的方法,但是否可以迭代扩展特定类的类集合?我想宣布如下:

ArrayList<? extends InterfaceComponent> components = new ArrayList<? extends InterfaceComponent>();
ArrayList试试这个:

arraylistcomponents=new ArrayList()

在该列表中,您可以拥有实现
InterfaceComponent
的任何对象

编辑:像这样迭代:

for(接口组件t:组件){
}

试试这个:

arraylistcomponents=new ArrayList()

在该列表中,您可以拥有实现
InterfaceComponent
的任何对象

编辑:像这样迭代:

for(接口组件t:组件){
}

试试这个:

arraylistcomponents=new ArrayList()

在该列表中,您可以拥有实现
InterfaceComponent
的任何对象

编辑:像这样迭代:

for(接口组件t:组件){
}

试试这个:

arraylistcomponents=new ArrayList()

在该列表中,您可以拥有实现
InterfaceComponent
的任何对象

编辑:像这样迭代:

for(接口组件t:组件){
}

构造函数操作新建一个具体实例编译时定义的类

指令

new ArrayList<? extends InterfaceComponent>();
newarraylist构造函数操作new创建一个编译时定义的具体实例类

指令

new ArrayList<? extends InterfaceComponent>();
newarraylist构造函数操作new创建一个编译时定义的具体实例类

指令

new ArrayList<? extends InterfaceComponent>();
newarraylist构造函数操作new创建一个编译时定义的具体实例类

指令

new ArrayList<? extends InterfaceComponent>();

new ArrayList使用您的
InterfaceComponent
和一些具体类:

public class A implements InterfaceComponent { }
public class B implements InterfaceComponent { }
public class C implements InterfaceComponent { }
当您声明:

List<? extends InterfaceComponent> list;

List使用您的
InterfaceComponent
和一些具体的类:

public class A implements InterfaceComponent { }
public class B implements InterfaceComponent { }
public class C implements InterfaceComponent { }
当您声明:

List<? extends InterfaceComponent> list;

List使用您的
InterfaceComponent
和一些具体的类:

public class A implements InterfaceComponent { }
public class B implements InterfaceComponent { }
public class C implements InterfaceComponent { }
当您声明:

List<? extends InterfaceComponent> list;

List使用您的
InterfaceComponent
和一些具体的类:

public class A implements InterfaceComponent { }
public class B implements InterfaceComponent { }
public class C implements InterfaceComponent { }
当您声明:

List<? extends InterfaceComponent> list;


ListI没有意识到,如果有东西扩展了它,那么它仍然可以被添加。我想我是走错方向了,谢谢我的名声在哪里3我不能再接受它了,比如9分钟,很抱歉,我没有意识到,如果有东西扩展了它,那么它仍然可以被添加。我想我是走错方向了,谢谢我的名声在哪里3我不能再接受它了,比如9分钟,很抱歉,我没有意识到,如果有东西扩展了它,那么它仍然可以被添加。我想我是走错方向了,谢谢我的名声在哪里3我不能再接受它了,比如9分钟,很抱歉,我没有意识到,如果有东西扩展了它,那么它仍然可以被添加。我想我是走错方向了,谢谢我的名声在哪里3我再过9分钟也不能接受它了,很抱歉,现在更有意义了,感谢你为我澄清了这一点,我从来不知道基本上,你可以实例化一个具体的类,但不能实例化一个抽象类(它指的是更多潜在的子类)或一个接口(它指的是更多潜在的类或子接口)。声明在一个更抽象的视图中工作。现在更有意义了,感谢你为我澄清了这一点,我从来都不知道,基本上,你可以实例化一个具体的类,但不能实例化一个抽象类(它指的是更多潜在的子类)或一个接口(它指的是更多潜在的类或子接口)。声明在一个更抽象的视图中工作。现在更有意义了,感谢你为我澄清了这一点,我从来都不知道,基本上,你可以实例化一个具体的类,但不能实例化一个抽象类(它指的是更多潜在的子类)或一个接口(它指的是更多潜在的类或子接口)。声明在一个更抽象的视图中工作。现在更有意义了,感谢你为我澄清了这一点,我从来都不知道,基本上,你可以实例化一个具体的类,但不能实例化一个抽象类(它指的是更多潜在的子类)或一个接口(它指的是更多潜在的类或子接口)。该声明在更抽象的视图中工作。