Tag: 超类

超级关键字没有扩展到超类

有一个简单的程序,在构造函数中,super()被调用而没有扩展到超类,我无法理解在这种情况下会做什么呢? public class Student { private String name; private int rollNum; Student(String name,int rollNum){ super();// I can not understand why super keyword here. this.name=name; this.rollNum=rollNum; } public static void main(String[] args) { Student s1 = new Student(“A”,1); Student s2 = new Student(“A”,1); System.out.println(s1.equals(s2)); } }

jackson序列化:如何忽略超类属性

我想序列化一个不受我控制的POJO类,但是想要避免序列化来自超类的任何属性,而不是序列化来自最终类的属性。 例: public class MyGeneratedRecord extends org.jooq.impl.UpdatableRecordImpl, example.generated.tables.interfaces.IMyGenerated { public void setField1(…); public Integer getField1(); public void setField2(…); public Integer getField2(); … } 您可以从示例中猜测此类是由JOOQ生成的,并且inheritance自复杂的基类UpdatableRecordImpl,它还具有一些类似于bean属性的方法,这会在序列化期间导致问题。 此外,我有几个类似的类,因此最好避免为我生成的所有POJO重复相同的解决方案。 到目前为止,我找到了以下可能的解决方案: 使用mixin技术忽略来自超类的特定字段,如下所示: 如何告诉jackson忽略我无法控制源代码的属性? 这个问题是如果基类发生变化(例如,新的getAnything()方法出现在它中),它可能会破坏我的实现。 实现自定义序列化程序并在那里处理问题。 这对我来说似乎有点矫枉过正。 顺便说一下,我有一个接口,它描述了我想要序列化的属性,也许我可以混合一个@JsonSerialize(as = IMyGenerated.class)注释……? 我可以将此用于我的目的吗? 但是,从纯粹的设计角度来看,最好的方法是能够告诉jackson我只想序列化最终类的属性,并忽略所有inheritance的属性。 有没有办法做到这一点? 提前致谢。

Java中子类的构造函数

编译这个程序时,我得到错误 – class Person { Person(int a) { } } class Employee extends Person { Employee(int b) { } } public class A1{ public static void main(String[] args){ } } 错误 – 找不到构造函数Person()。 为什么定义Person()是必要的?

Java的。 隐式超级构造函数Employee()未定义。 必须显式调用另一个构造函数

您好我是Java的新手,我在生产工人类中遇到此错误。 我的生产工作者构造函数说显式调用另一个构造函数。 我不知道该怎么办?。 import java.util.Date; public class Employee { private String name, number; private Date date; public Employee(String name, String number, Date date) { setName(name); setNumber(number); setDate(date); } public void setName(String n) { name = n; } public void setNumber(String n) { number = n; // you can check the format here for correctness } […]

方法必须在Netbeans中调用super()错误

最近我做了一个Netbeans项目,我正在使用SVN。 我看到重复的类错误,并在控制台中说 java.lang.VerifyError: (class: pie/chart/explorer/PieChartExplorer, method: signature: ()V) Constructor must call super() or this() Could not find the main class: pie.chart.explorer.PieChartExplorer. Program will exit. Exception in thread “main” Java Result: 1 这是PieChartExplorer.java: package pie.chart.explorer; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class PieChartExplorer extends JFrame implements ActionListener { JTextField one = new JTextField(10); […]