jjzjj

subclassing

全部标签

java - 类型不匹配错误 : Cannont convert from ArrayList<SubClass1> to List<SuperClass>

这是我的类结构,我在哪里出错classSuperClass{//variables}classSubClass1extendsSuperClass{//variables}classSubClass2extendsSuperClass{//variables}classAClass{Listlist;publicAClass(booleanb){if(b)list=newArrayList();//gettingerrorhereelselist=newArrayList();//andhere}voidaddObjects(SuperClassobj){list.add(obj);}

java - 当方法的签名定义为 Collection<class> 时,为什么方法不能采用 Collection<subClass>

我有一个获取SResource对象列表的方法publicstaticListlistTriples(Listsubjects){//...dostuff}为什么我不能这样做ListresultsAsList=newArrayList();resultsAsList.addAll(allResults.keySet());//Icouldpossiblenotuselistsandjustusesetsandthereforegetridofthisline,butthatisadifferentissueListtriples=newArrayList();triples=Triple

java - 每个子类继承关系表 : How to query against the Parent class without loading any subclass ? ?? ( hibernate )

假设一个每个子类继承关系的表可以在下面描述(来自wikibooks.org-参见here)注意父类不是抽象的@Entity@Inheritance(strategy=InheritanceType.JOINED)publicclassProject{@Idprivatelongid;//Otherproperties}@Entity@Table(name="LARGEPROJECT")publicclassLargeProjectextendsProject{privateBigDecimalbudget;}@Entity@Table(name="SMALLPROJECT")publi

java - Java编程实践: stacking enums and enum constructors,和子类化哪个更好?

给定有限数量的不同种类的项目,用堆叠枚举和枚举构造函数表示它们更好,还是将它们子类化更好?还是有更好的方法?为了给您一些背景信息,在我的小型RPG程序(具有讽刺意味的是它应该很简单)中,一个角色的元素栏中有不同种类的元素。项目根据其类型、用途和效果而有所不同。例如,元素栏中的一项是名为Gremlin的法术卷轴,可调整Utility属性。另一个项目可能是一把名为Mort的剑,用于战斗并造成伤害。在我的RPG代码中,我现在尝试了两种表示库存项目的方法。一种方法是子类化(例如,InventoryItem->Spell->AdjustingAttributes;InventoryItem->W

java - 如何在 Java 中将 ArrayList<subClass> 转换为 ArrayList<super>

我有一个方法setData(ArrayListlist),所以任何想要设置数据的人都可以拥有自己的实体,只需要从父类(superclass)扩展。但是当他们调用setData,他们如何将ArrayList转换为ArrayList?现在我使用setData(newArrayList(list)),但这不是一个好的解决方案。任何人都可以告诉我如何转换或其他解决方案可以避免该问题。非常感谢! 最佳答案 这取决于您之后要对列表执行的操作。如果你只是想从中读取,你可以像这样声明你的方法:setData(ArrayListlist)不过,您不能

Java 泛型 : set List of superclass using List of subclass

如果我在MyClass中有一个方法,例如setSuperClassList(List)...我应该能够这样做吗:newMyClass().setSuperClassList(newArrayList())这似乎无法编译。为什么? 最佳答案 尝试setSuperClassList(List).同时检查PECS看看你是否应该使用?extends或?super. 关于Java泛型:setListofsuperclassusingListofsubclass,我们在StackOverflow上找

java - 双代理接口(interface) : Could not generate CGLIB subclass of class 时 Spring AspectJ 失败

我正在使用Spring的代理一些JPArepository接口(interface)。但是,代理失败并显示以下Cannotsubclassfinalclassclass$Proxy80:CouldnotgenerateCGLIBsubclassofclass[class$Proxy80]:Commoncausesofthisproblemincludeusingafinalclassoranon-visibleclass;nestedexceptionisjava.lang.IllegalArgumentException:Cannotsubclassfinalclassclass$P

java - 为什么单元格渲染器经常扩展 JLabel?

我注意到这很常见。例如DefaultListCellRenderer、DefaultTableCellRenderer和DefaultTreeCellRenderer都使用它。我在网上看到的很多自定义单元格渲染器也使用它。我想在我的代码中使用自定义TableCellRenderer,但我对是否真的需要子类化JLabel感到困惑。子类化JLabel有什么好处? 最佳答案 APIfortheDefaultTableCellRenderer状态:Thetableclassdefinesasinglecellrendererandusesi

java - 将 List<Subclass> 传递给需要 List<SuperClass> 的方法

我有一个方法需要一个List作为参数:publicvoidmyMethod(Listlist){}我想用List调用那个方法像这样的东西:ListsubList=newArrayList();//...myMethod(subList);//Gotanargumentmismatcherroronthisline.我不应该在SubClassextendsSuperClass时执行此操作吗?? 最佳答案 不,泛型不是那样工作的。你可以做的是将你的方法定义为MyMethod(Listlist)(按照惯例,它应该命名为myMethod(.

c++ - 奇怪的重复出现的模板和模板参数相关的子类化问题

我正在尝试让下面的代码工作templatestructBase{usingDerived=__derived;usingObject=__object;voidfunction(Objecto){returnDerived::function(s);}}//template//structBase{//usingDerived=__derived;//usingObject=typenameDerived::Object;//voidfunction(Objecto){returnDerived::function(s);}//}templatestructDerived:public