我最近参加了两次电话面试,被问到接口(Interface)和抽象类(Abstract class)之间的区别。我尽可能地解释了它们的各个方面,但似乎他们在等待我提到某些特定的东西,而我不知道是什么。 根据我的经验,我认为以下内容是正确的。如果我漏掉了重要的点,请让我知道。 接口: 接口中声明的...
问题在于为什么Java中不能定义抽象静态方法?例如: abstract class foo { abstract void bar( ); // <-- this is ok abstract static void bar2(); //<-- this isn'...
Java 8允许在接口中使用默认方法实现,这被称为 默认方法(Default Methods)。 我很困惑,不知道何时应该使用这种类型的接口默认方法,而不是使用一个带有抽象方法的抽象类。 那么在什么情况下应该使用带有默认方法的接口,以及在什么情况下应该使用带有抽象方法的抽象类?在这种情况下...
在我的面试中,有人要求我解释一个接口(Interface)和一个抽象类(Abstract class)之间的区别。 这是我的回答: Java接口的方法默认是抽象的,不能有实现。Java抽象类可以含有实现了默认行为的实例方法。 在Java接口中声明的变量默认都是final的。...
这可能是一个通用的面向对象编程问题。我想进行关于接口和抽象类在使用上的通用比较。 什么时候应该使用接口,什么时候应该使用抽象类?
我在思考如何对抽象类和继承自抽象类的类进行单元测试。 我应该通过继承抽象类,将其抽象方法替换为存根(stub),然后测试所有具体方法吗?然后只测试我覆盖的方法,并在继承我的抽象类的对象的单元测试中测试抽象方法? 我是否应该有一个抽象的测试用例来测试抽象类的方法,并在继承抽象类的对象的测试用...