草庐IT

subclass

全部标签

Java——在子类中初始化父类(super class)变量?

好的,例如,假设我有一个名为“Vehicle”的抽象类。Vehicle类有一个名为wheels的静态变量,它没有被初始化。我想要做的是从Vehicle类扩展其他子类,如“摩托车”和“卡车”,并在这些子类中初始化车轮。代码:publicabstractclassVehicle{staticintwheels;//numberofwheelsonthevehicle}但以下不起作用:publicclassMotorcycleextendsVehicle{wheels=2;}有没有办法有效地做到这一点?编辑:感谢到目前为止所有回复的人。我知道创建实例可能是比将它们全部放在单独的类中更好的方法

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

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

java - HashSet 允许重复

我似乎无法让HashSet实例按预期工作。我使用的代码如下:importtesting.Subclass;importjava.util.HashSet;publicclasstester{publicstaticvoidmain(String[]args)throwsException{HashSetset=newHashSet();set.add(newSubclass("007812"));set.add(newSubclass("007813"));System.out.println("Setsize"+set.size());set.add(newSubclass("007

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 - 是否有可能获得所有实现接口(interface)的类?

这个问题在这里已经有了答案:HowcanIgetalistofalltheimplementationsofaninterfaceprogrammaticallyinJava?(11个答案)FindJavaclassesimplementinganinterface[duplicate](9个回答)关闭9年前。我可以用反射或类似的东西来做吗?

java - 哪些成员不在子类中继承?

我正在尝试回答以下问题:Achildclasswouldnotinheritcertainmembersoftheparentclass.Namethreesuchmembers.我知道私有(private)成员不会继承到子类,默认成员不会在包外继承。谁能完成答案?编辑:-我相信静态成员是根据下面的演示继承的publicclasssup{publicstaticvoidmain(Stringagr[]){}protectedstaticintstaticInt=0;protectedfinalintfinalInt=3;protectedintprotectedInt=0;public

Java:在覆盖方法时替换参数的子类/子类型?

所以我之前问过这个问题,但大多数人发现我的代码有错误,而不是问题本身。无论如何,我正在尝试重写类中的接口(interface)方法。但是,我希望覆盖方法中的参数类型是覆盖方法中定义的参数类型的子类。界面是:publicinterfaceObserver{publicvoidupdate(ComponentUpdateEventupdateEvent)throwsException;}虽然重写这个方法的类是:publicclassConsoleDrawerextendsDrawer{//...@Overridepublicvoidupdate(ConsoleUpdateEventupda

java - 继承方法返回引用类型

我遇到了thisquestion中描述的问题但想找到一个没有所有强制转换和@SuppressWarning注释的解决方案(如果可能的话)。更好的解决方案是通过以下方式建立在引用的解决方案之上:删除@SuppressWarning去除石膏此处提供的解决方案将根据标准获得2分。如果有超过2点的解决方案,赏金将用于解决方案中的大多数点数或“最优雅”的解决方案。 最佳答案 没有转换,没有@SuppressWarning,只有几行:publicabstractclassSuperClass>{protectedTthat;publicTcha

Java,是否可以将 'convert'对象从子类传递到父类(super class)对象

我有两个类(class)学生和导师。Tutor基本上是一个拥有facultyID的学生(TutorextendsStudent)。一旦他的契约(Contract)完成,他就回到了一个学生的身份。那么我能否以某种方式将他转换回他“以前”的学生名单? 最佳答案 在这里你真正想做的是使用compositionandnotinheritance.将所有对象保留为类型Student,然后临时分配一个TutorRole的行为因为Student的每个实例都需要它.有了这个设计,您的Student类将包含TutorRole类型的属性(成员变量)您可

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

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