Tag: 超类

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

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

Java设置实例的超级实例

我可能只是无法谷歌正确的单词,但我找不到以下问题的答案。 是否可以显式设置新类实例的超类。 例如,我有一个SuperClazz实例,想要创建一个新的SuperClazz实例,它扩展了SuperClazz 。 我可以做这样的事情(代码就是我想要做的,它不能编译,也不正确): class Clazz extends SuperClazz{ Clazz(SuperClazz superInstance){ this.super = superInstance; } }

在java中的超级调用之前创建一个对象

考虑到那些不起作用的简单java代码: public class Bar extends AbstractBar{ private final Foo foo = new Foo(bar); public Bar(){ super(foo); } } 我需要在super()调用之前创建一个对象,因为我需要在母类中推送它。 我不想使用初始化块,我不想做类似的事情: super(new Foo(bar))在我的构造函数中.. 如何在超级电话之前将数据发送到母class?

如果重载构造函数,如何调用super(…)和this(…)?

我以前从未需要这样做,但由于两者都必须是构造函数中的“第一行”,应该如何解决它? 对于这样的情况,最好的重构是什么? 这是一个示例: public class Agreement extends Postable { public Agreement(User user, Data dataCovered) { super(user); this(user,dataCovered,null); } public Agreement(User user,Data dataCovered, Price price) { super(user); if(price!=null) this.price = price; this.dataCovered = dataCovered; } … } 对super(user)的调用是绝对必须的。 在这种情况下如何处理“可选参数”? 我能想到的唯一方法就是重复,即根本不要称之为(…)。 只需在每个构造函数中执行赋值。

reflection:在不使用instanceof的情况下将对象强制转换为子类

我有这个简单的接口/类: public abstract class Message {} public class Message1 extends Message {} public class Message2 extends Message {} 实用类: public class Utility { public void handler(Message m) { System.out.println(“Interface: Message”); } public void handler(Message1 m) { System.out.println(“Class: Message1”); } public void handler(Message2 m) { System.out.println(“Class: Message2”); } } 现在,主要类: public static void main(String[] args) { […]

如何从playframework中的超类inheritance模型

我试图了解inheritance如何发挥作用! 但尚未成功。 所以,我有这样的超类: @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) abstract class SuperClass extends Model { @Id @GeneratedValue(strategy = GenerationType.TABLE, generator = “SEQ_TABLE”) @TableGenerator(name = “SEQ_TABLE”) Long id; int testVal; } 和2个inheritance的类: @Entity public class Sub extends SuperClass { String name; @Override public String toString() { return name; } } @Entity public class Sub1 extends SuperClass { String name; […]

嵌套类中私有构造函数的范围

这不仅仅是一个难题而不是问题。 我有以下代码: public class PrivateBaseConstructor { public static class BaseClass { private BaseClass() { } } public static class DerivedClass extends BaseClass { public DerivedClass() { super(); // 1* } } } 这里调用super(); 虽然基类构造函数是private但是1 *是允许的事件。 如果我们将类作为单独的类编写在同一个包中: BClass.java public class BClass { private BClass() { } } DClass.java public class DClass extends BClass { public DClass() […]

为什么Object类在java中是超类

为什么对象Class是java中的超类我昨天接受过一次采访,面试官问我这些问题。

类OBJECT中的默认构造函数是做什么的?

我是Java初学者,学习Java编译器规则,如下所示: 如果类没有超类,则将其扩展为Object类 如果类没有构造函数,则添加默认的无参数构造函数 如果构造函数的第一行不是“super()”或“this()”,则添加“super()”来调用超类的默认构造函数。 我知道我们创建的所有对象都是从超类Object派生的。 我的问题是Object类中的构造函数在调用时会做什么? 编辑:我的问题是关于构造函数在Object类中做了什么? 我知道子类默认调用超类的构造函数。 例如,我有以下代码(我明确地扩展到Object并调用super()来说明编译器的作用)。 我的问题是,对super()的调用是做什么的? public class Person extends Object { private String name; public Person(String n) { super(); this.name = n; } }

Java Web Services / JAXB – 抽象超类

我有一个带有JAXB注释类的包和一个抽象超类。 我想在Web服务接口中使用这个超类,所以我可以将任何子类作为参数传递。 当我这样做时,会抛出exception: javax.xml.ws.WebServiceException: javax.xml.bind.UnmarshalException – with linked exception: [javax.xml.bind.UnmarshalException: Unable to create an instance of xxx.yyy.ZZZ – with linked exception: [java.lang.InstantiationException]] 可以手动编组/取消编组并将参数作为字符串传递,但我想避免使用它。 有什么想法怎么做?