草庐IT

java - 在它的抽象父类(super class)中使用子类的泛型类型?

在我的代码中有以下抽象父类(superclass)publicabstractclassAbstractClass{...}还有一些子类比如publicclassChildClassAextendsAbstractClass{...}publicclassChildClassBextendsAbstractClass{...}我正在寻找一种优雅的方式来以通用方式在抽象类中使用子类的通用类型(GenericTypeA、GenericTypeB等)。为了解决这个问题我目前定义了方法protectedabstractClassgetGenericTypeClass();在我的抽象类中并实现了

java - 实例化Java对象时,是不是自动创建了一个父类的对象?

假设我创建了一个对象,并运行了父类的一个构造函数。有了这个构造函数,父对象的新对象也在幕后创建了吗?如果不是,父类的private字段存放在哪里?实际上,您可以调用父对象的任何方法(有或没有super),它操作调用对象不可见的私有(private)字段。如果有人最熟悉Java内存模型,非常欢迎他或她的回答! 最佳答案 Withthisconstructoranewobjectoftheparentiscreatedaswellbehindthescenes?没有,只创建了一个实例。创建的实例包含当前类及其所有父类(superclas

java - 如何使用 getClass().getSuperclass() 获取父类名称?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭9年前。Improvethisquestion我正在尝试使用获取父类名称publicclassClassAextendsDraw{publicClassA(){super();}.....}publicclassClassC{publicgetParent(Objecta_class){StringsuperClass=a_class.getClass().getSuperclass().toString();}}我遇到了以下错误Except

java - 包含同一父类(super class)的不同对象的 ArrayList - 如何访问子类的方法

您好,我想知道是否有解决我的问题的简单方法,我有一个ArrayList:ArrayListanimalList=newArrayList();/*IaddsomeobjectsfromsubclassesofAnimal*/animalList.add(newReptile());animalList.add(newBird());animalList.add(newAmphibian());它们都实现了一个方法move()-当调用move()时Bird会飞。我知道我可以使用这个访问父类(superclass)的通用方法和属性publicvoidfeed(IntegeranimalIn

java - 使用子类名访问父类静态字段不会加载子类?

classA{staticintsuper_var=1;static{System.out.println("super");}}classBextendsA{staticintsub_var=2;static{System.out.println("sub");}}publicclassDemo{publicstaticvoidmain(String[]args){System.out.println(B.super_var);}}输出是:super1这意味着子类不会加载或任何其他事情?它是如何工作的? 最佳答案 当您在子类引用上

java - 如何使 toString() 方法返回父类(super class)私有(private)字段及其实例字段?

有没有办法让toString()包含超class的私有(private)字段?我尝试添加super.toString(),但是没用。请看下面的代码员工.javapackagetest;publicclassEmployee{privateStringname;privateintid;privatedoublesalary;publicEmployee(Stringname,intid,doublesalary){super();this.name=name;this.id=id;this.salary=salary;}publicdoublegetSalary(){returnsal

java - 如何使用从父类(super class)到子类的变量?

我有一个父类(superclass),我想在我的子类中使用这个父类(superclass)中的一个变量。这怎么可能? 最佳答案 只需将字段设置为protected,这意味着它应该对所有派生类可见。 关于java-如何使用从父类(superclass)到子类的变量?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/16992452/

java - Autowiring Spring 父类(super class)

为什么Spring在Autowiring期间自动选择父类(superclass)类型?例如,如果我有@ComponentpublicclassFoo{}@ComponentpublicclassBarextendsFoo{}有人Autowiring@AutowiredprivateFoofoo;为什么Spring总是选择父类(superclass)型Foo?这不应该是一个“不明确的”映射(并导致Spring抛出错误)吗?从技术上讲,您不是有两个Foo候选人吗?(例如,当从Foo中删除@Component时,Bar会自动选取...) 最佳答案

java - 子类中的方法可以重载父类(super class)中的方法吗?

Java代码:classP{publicvoidhello(){}}classCextendsP{publicvoidhello(Strings){}}我的问题是:类C中的hello是否重载了父类(superclass)P中的同名对象?我的friend说他们不是因为他们不在同一个类(class)。 最佳答案 采用更正式的方法,Java7的Java语言规范指出:Iftwomethodsofaclass(whetherbothdeclaredinthesameclass,orbothinheritedbyaclass,oronedecl

java - 访问未覆盖的父类(super class)方法时使用 'super' 关键字

我正在尝试掌握Java中的继承窍门,并且了解到当覆盖子类中的方法(和隐藏字段)时,仍然可以使用“super”关键字从父类(superclass)访问它们。我想知道的是,“super”关键字是否应该用于非覆盖方法?有什么区别(对于非覆盖方法/非隐藏字段)吗?我在下面整理了一个示例。publicclassVehicle{privateinttyreCost;publicVehicle(inttyreCost){this.tyreCost=tyreCost;}publicintgetTyreCost(){returntyreCost;}}和publicclassCarextendsVehic