Questions tagged «multiple-inheritance»

一些面向对象的计算机编程语言的功能,其中一个类可以从多个超类或基类继承行为和功能。

8
JDK 8中的默认值是Java中的一种多继承形式吗?
JDK 8中的一项新功能允许您在保留二进制兼容性的同时添加到现有接口。 语法就像 public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } 对于所有现有的实施方式,SomeInterface当他们升级到这个新版本时,并不会突然出现编译错误newInterface()。 虽然这很简洁,但是当您实现两个都添加了您未实现的新默认方法的接口时会发生什么呢?让我举例说明。 public interface Attendance { boolean present() default DefaultAttendance.present; } public interface Timeline { boolean present() default DefaultTimeline.present; } public class TimeTravelingStudent implements Attendance, Timeline { } // which code gets called? new TimeTravelingStudent().present(); 是否已将其定义为JDK …


13
一班可以延长两班吗?
我的班级应同时扩展两个班级: public class Preferences extends AbstractBillingActivity { public class Preferences extends PreferenceActivity { 怎么做? 更新。由于这是不可能的,那么我应该如何将那个AbstractBillingActivity和Preferences一起使用? Upd2。如果我使用接口,我应该创建: 计费接口 public interface BillingInterface extends PreferenceActivity, AbstractBillingActivity { } 偏好活动 public interface PreferenceActivity { } 抽象帐单活动 public interface AbstractBillingActivity { void onCreate(Bundle savedInstanceState); } 接着 public class Preferences implements BillingInterface {


12
为什么要使用接口,多重继承与接口,接口的优点?
我对此事仍然有些困惑。我到目前为止发现的是 (这里已经问过类似的问题,但我还有其他几点。) 接口是仅抽象方法和最终字段的集合。 Java中没有多重继承。 接口可用于在Java中实现多重继承。 继承的一个强项是我们可以在派生类中使用基类的代码,而无需再次编写。可能这是继承在那里最重要的事情。 现在.. Q1。由于接口仅具有抽象方法(无代码),因此,我们如何说如果实现任何接口,那么它就是继承?我们没有使用它的代码。 Q2。如果实现接口不是继承,那么如何使用接口实现多重继承? Q3。无论如何,使用接口有什么好处?他们没有任何代码。我们需要在实现它的所有类中一次又一次地编写代码。 那为什么要建立接口呢? 注意:我发现一种情况下接口是有用的。它的一个示例就像在Runnable接口中,我们有public void run()方法,在其中定义线程的功能,并且内置了编码,该方法将作为单独的线程运行。因此,我们只需要编写线程中的操作代码,Rest是预定义的。但是,这也可以使用抽象类和全部来实现。 那么使用接口的确切好处是什么?使用接口实现的真的是多重继承吗?


2
Derived1 :: Base和Derived2 :: Base是否引用相同的类型?
MSVC,Clang和GCC在以下代码上存在分歧: struct Base { int x; }; struct Der1 : public Base {}; struct Der2 : public Base {}; struct AllDer : public Der1, public Der2 { void foo() { Der1::Base::x = 5; } }; 哥德宝 GCC: <source>: In member function 'void AllDer::foo()': <source>:10:21: error: 'Base' is an ambiguous base …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.