Tag: abstract class

Java 8默认方法与抽象类中的非抽象方法

Java 8接口默认方法与抽象类中的非抽象方法 – 两者之间是否存在任何差异(除了iface的差异 – 类,可见性等) 不是Java中的默认方法,这意味着它违背了Java多年来所宣传的本质?!

Javagenerics方法inheritance和覆盖规则

我有一个具有generics方法的抽象类,我想通过将特定类型替换为generics参数来覆盖generics方法。 所以在伪代码中我有以下内容: public abstract class GetAndParse { public SomeClass var; public abstract void getAndParse(T… args); } public class Implementor extends GetAndParse { // some field declarations // some method declarations @Override public void getAndParse(SpecificClass… args) { // method body making use of args } } 但由于某种原因,我不允许这样做? 我是在做某种语法错误还是这种inheritance和覆盖不允许? 特别是我收到关于@Override的错误,因为eclipse IDE一直在提醒我实现getAndParse 。 以下是我希望上述代码的工作方式。 我的代码中的其他地方有一个方法,它需要实现GetAndParse的对象实例,这特别意味着它们有一个我可以使用的getAndParse方法。 当我在该实例上调用getAndParse时,编译器会检查我是否以正确的方式使用了T特定实例,因此特别是T应该扩展AnotherClass并且它应该是SpecificClass 。

调用构造函数是否意味着创建对象?

当我们创建一个扩展抽象类的Subclass对象时,抽象类构造函数也会运行。 但我们知道我们不能创建抽象类的对象。 因此,它是否意味着即使构造函数在没有任何exception的情况下完成运行,也无法保证是否创建了对象?

传递接口和类重新加载之间的性能差异

人们一致认为使用接口比使用类更好。 我当然同意:接受ArrayList而不是List的库方法将是一个废话。 人们也一致认为,表现总是一致的。 在这里,我的基准测试有所不同。 接口和抽象类都有1到4个实现。 当使用两个以上的实现时,性能开始出现分歧。 我正在寻找这种行为的解释(以及错误共识的起源)。

在Java中为抽象类创建构造函数有什么用?

我想知道抽象类的构造函数的用途是什么; 因为我们没有实例化抽象类,为什么我们需要这样的构造函数?

是否可以抽象类替换接口?

在Java中,您可以创建仅包含抽象方法的抽象类。 另一方面,您可以创建一个声明相同方法的接口。 既然如此,你可以使用抽象类而不是接口吗?