Tag: inheritance

Java对象用jackson将列表扩展到Json

我想使用Jackson将扩展列表的对象转换为Json。 例: public class TryToSerialize extends ArrayList { private int number; private String word; public TryToSerialize(){ number = 0; word = “”; } @JsonProperty public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } @JsonProperty public String getWord() { return word; } public void setWord(String word) { this.word = […]

@MappedSuperclass不是@entity?

所以我正在使用DerbyDB,我正在设置一些实体。 我有一个@MappedSuperclass ,它被用作某些实体的超类( @Entity )。 更具体地说,我有一个超类User和3个子类,即admin , regular和guest 。 现在我有一个不同的实体,让我们说应该引用(作为其中一个字段)其所有者的文件。 所以我创建了一个名为User owner的字段。 我得到的错误是: Exception Description: [File] uses a non-entity [User] as target entity in the relationship attribute [field owner]. 有解决方法吗?

数字系统类的inheritance层次结构

对于数学表达式的符号表示,我试图构建数字系统类的层次结构。 除了Integer和Real ,我还需要像Rational和Complex这样的类。 我希望所有这些类能够相互无缝地互操作。 例如,将Complex添加到Integer将给出Complex等。 我让所有这些都实现了Number接口。 (不是java.lang.Number ) 为了能够添加不同类型的数量,我尝试制作如下的层次结构。 Integer扩展Rational扩展Real扩展Complex 这使得Integer不必要地存储虚部等。这种开销是不希望的。 允许访问Integer虚部也似乎是不合适的。 任何人都可以建议一个更好的设计,避免开销,仍然可以进行互操作吗?

Java通用容器类

我正在研究用Java实现的进化仿真模型,并遇到一个关键的面向对象设计问题,我似乎无法解决这个问题。 问题可归纳如下: 我有一个基本的抽象类Player和两个具体的子类,Signaller和Receiver: abstract class Player { Strategy[] strategies; double fitness; … } class Signaller extends Player { double quality; …. } class Receiver extends Player { double[] weights; int chosenChannel; …. } 现在我需要代表Signalers和Receivers集合的类,我不得不使用数组来存储它们。 两种群体类型都有共同的方法,但也有信号器群体或接收器群体的特定方法。 从概念上讲 ,我需要这样的东西: abstract class Population { Player[] members; void mixUpPopulation() {…} Strategy[] getMeanStrategies() {…} double getMeanFitness() {…} … } class […]

实例方法和变量的情况下javainheritance解析

根据java,实例方法解析基于参数的运行时类型。 但在解析实例变量时,它使用不同的方法,如下所示。 节目输出是…… Child Parent ParentNonStatic 这里第一个输出基于参数的运行时类型,但第三个输出不是。 谁可以解释一下这个? public class Child extends Parent { public static String foo = “Child”; public String hoo = “ChildNonStatic”; private Child() { super(1); } @Override String please() { return “Child”; } public static void main(String[] args) { Parent p = new Parent(); Child c = new Child(); //Resolving method […]

Struts 2中的action-default包

是否有与Struts2相关的action-default包? 我不确定它来自哪个jar(struts-core或plugins),但它多年来一直存在于我的struts.xml中。 我们使用过struts-core-2.1.8。 我将struts版本更新到2.3.8并且struts开始抱怨, SEVERE: Exception starting filter struts2-prepare Unable to load configuration. – [unknown location] at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:483) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.init(StrutsPrepareFilter.java:50) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262) at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:107) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4656) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: Unable to load configuration. – […]

JPA 2.0:TYPE表达式exception

我有一个inheritance结构与类,让我们说Parent(作为根类)和Child作为子类。 因此,对于JPA 2.0,我不能通过使用仅选择Parent类 SELECT p FROM Parent p WHERE TYPE(p) = Parent 这只应返回Parent的条目,而不是子条目。 但是我的EclipseLink 2.1.1和Glassfish v3上的MySql,我总是会收到以下错误: “Invalid Type Expression on [my.domain.Parent]. The class does not have a descriptor, or a descriptor that does not use inheritance or uses a ClassExctractor for inheritance”. 另外,我手动定义没有orm-mapping。 我认为这都是在部署时自动完成的。 有什么东西我必须添加到我的父/子类(注释即)来声明inheritance结构? (但我认为这不应该是必要的,因为inheritance是由Java声明的,是吗?) 编辑: 我没有提到的一个重要方面是我正在使用inheritance方法“TABLE_PER_CLASS”。

如何设计一个屏幕来处理许多(类似的,子类)对象?

前言:我试图在不需要样板代码的情况下解决我的问题。 我可以通过复制/粘贴和重构代码轻松解决这个问题,但是这种问题应该可以用模型驱动的方法解决,因为设计明显重现。 我有一个包含四种不同对象类型的数据库应用程序,它们将用作另一个中心对象的参数。 所有四个字段在结构上都是相同的:一个自动生成的主键和一个VARCHAR字段。 这些字段需要由最终用户编辑,因此我设计了这个屏幕: 我没有为此制作四个不同的屏幕,而是认为制作这个由四种不同对象类型使用的屏幕会很好。 为了实现这一点,我(显然,对吗?)需要创建一个抽象对象(我称之为) StringField ,它可以通过四种子类型实现: Status , Type , Classification和Designation 。 如前所述,因为每个对象在结构上都是相同的,并且以相同的方式读/写数据库,所以抽象对象似乎是合乎逻辑的。 所以,我做了这个对象: public abstract class StringField { private final int id; private final String value; private final String fieldname; private final String tablename; public StringField(int id, String value, String fieldname, String tablename) { this.id = id; this.value = value; this.fieldname […]

使用超类引用变量在Java子类对象中重载/覆盖方法

class A{ void m1(A a) {System.out.print(“A”);} } class B extends A{ void m1(B b) {System.out.print(“B”);} } class C extends B{ void m1(C c) {System.out.print(“C”);} } public class d { public static void main(String[] args) { A c1 = new C(); C c2 = new C();c1.m1(c2); }} 此代码的输出为’A’ 。 但如果我将A类修改为: class A{ void m1(C a) {System.out.print(“A”);} […]

Java:一个类可以同时从两个超类inheritance吗?

我有一个课程旅程,我想创建一个超级课程和另一个课程计划之旅。 计划的旅程类扩展了JFrame,因为它包含表单。但是我也希望这个类扩展Journey .. 有可能这样做吗?