草庐IT

java - 在 java 中,我们可以将父类(super class)对象传递给子类引用吗?

在java中,我们可以将父类(superclass)对象传递给子类引用吗?我知道这是一个奇怪的问题/实际上不可行,但我想了解这背后的逻辑为什么在java中不允许。classEmployee{publicvoidmet1(){System.out.println("met1");}}classSalesPersonextendsEmployee{@Overridepublicvoidmet1(){System.out.println("newmet1");}publicvoidmet2(){System.out.println("met2");}}publicclassReference

java - 尝试通过自省(introspection)从父类访问属性时出现非法访问异常

我目前正在研究Java1.5中的内省(introspection)和注释。它们有一个父抽象类AbstractClass。继承的类可以具有使用自定义@ChildAttribute注释进行注释的属性(ChildClass类型)。我想编写一个通用方法来列出实例的所有@ChildAttribute属性。到目前为止,这是我的代码。父类:publicabstractclassAbstractClass{/**Listchildattributes(viaintrospection)*/publicfinalCollectiongetChildren(){//InitresultArrayListr

java - Hibernate,单表继承和使用父类(super class)字段作为鉴别器列

我有以下几种用于hibernate实体层次结构的类。我正在尝试拥有两个具体的子类Sub1Class和Sub2Class。它们由MappedSuperClass中定义的鉴别器列(field)分隔。有一个抽象实体类EntitySuperClass被其他实体引用。其他实体不应该关心它们实际上是在引用Sub1Class还是Sub2Class。这真的可能吗?目前我收到此错误(因为列定义在Sub1Class和EntitySuperClass中被继承了两次):Repeatedcolumninmappingforentity:my.package.Sub1Classcolumn:field(shoul

java - 为什么包装类没有共同的父类(super class)型?

java背后是否有特殊原因?包装类(java.lang.Integer、java.lang.Boolean、...)没有共同的父类(superclass)型?我问是因为拥有(例如)WrapperType::getType会很方便沿袭经典功能Object::getClass这将返回原始类型的类。更具体地说,上下文是通过反射调用构造函数,而您只有Class。和参数Object[]例如:publicstaticTcreateInstance(Classclz,Object...params)throwsException为了获取构造函数,我可以通过以下方式获取参数类型:Class[]c=Ar

java - 如何在子类中访问父类(super class)的 ‘protected static’ 变量,子类位于不同的包中..?

这是同一问题的稍微详细的版本。我们不能在子类中访问(父类(superclass)的)protected变量,子类在不同的包中。我们只能访问父类(superclass)的继承变量。但是,如果我们将修饰符更改为“protectedstatic”,那么我们也可以访问父类(superclass)的变量。为什么会这样?这是我试图解释的相同代码片段。packagefirstOne;publicclassFirst{**protected**inta=7;}packagesecondOne;importfirstOne.*;publicclassSecondextendsFirst{protecte

java - 如何使从 JPA 中的父类(super class) transient 继承的映射字段?

我有一个无法更改的遗留架构。我正在为公共(public)功能使用一个基类,它包含一个嵌入式对象。有一个通常映射到嵌入式对象中的字段,它只需要在一个(许多)子类的持久性ID中。我创建了一个包含它的新id类,但随后我收到该字段被映射两次的错误。下面是一些示例代码,为了保持读者的理智而大大简化了代码:@MappedSuperclassclassBaseClass{@EmbeddedprivateDatadata;}@EntityclassSubClassextendsBaseClass{@EmbeddedIdprivateSubClassIdid;}@EmbeddableclassData{

java - 使用 JAXB 将子类实例作为父类(super class)传递

我拥有的是一组表示消息类型的Java类(接近25个)。它们都继承自Message类,我希望它是抽象的。每种消息类型都会向Message父类(superclass)提供的集合中添加一些额外的字段。我正在使用RESTeasy实现一些RESTfulWeb服务,并希望有这样的方法:publicResponsepersist(Messagemsg){EntityTransactiontx=em.getTransaction();tx.begin();try{em.persist(msg);}catch(Exceptione){e.printStackTrace();}tx.commit();em

java - 如何将父类(super class)对象值复制到子类对象值?

我想将父类(superclass)对象getter复制到子类对象setter。但是我怎么能轻易做到这一点。我正在寻找类似克隆的东西。你能帮我找到它吗?一个简单的代码:父类(superclass):publicclassSuperClass1{privateStringname;privateStringsurname;publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnthis.name;}publicvoidsetSurname(Stringsurname){this.surname=su

Java Web 服务/JAXB - 抽象父类(super class)

我有一个包含带有抽象父类(superclass)的JAXB注释类的包。我想在Web服务接口(interface)中使用这个父类(superclass),所以我可以将任何子类作为参数传递。当我这样做时,抛出异常:javax.xml.ws.WebServiceException:javax.xml.bind.UnmarshalException-withlinkedexception:[javax.xml.bind.UnmarshalException:Unabletocreateaninstanceofxxx.yyy.ZZZ-withlinkedexception:[java.lang.

java - Java 和父类(super class)(对象、类)中的继承

所有自定义类/对象的java.lang.Object父类(superclass)是否被隐式继承?我以为java不支持多重继承。我问的原因是,如果我已经从我的自定义类中的另一个类继承,并且java再次强制在它之上隐式继承java.lang.Object,这不是多重继承吗?此外,java.lang.classClass是否也是所有自定义类/对象的父类(superclass)?如果不是,我们如何在java反射中获取任何传递的类的类类型或在任何对象上调用isInstance? 最佳答案 每个没有显式父类(superclass)的类都继承自j