什么叫 Java 不提供类的多重继承,但提供接口多重继承机制?
什么叫 Java 不提供类的多重继承,但提供接口多重继承机制?
Java 是如何实现多接口的? 这个应该如何解释?能否给一个简单例子。
2 请问如果 一个 类 A , 和另一个类B B ectends A
如果我 在A和B中 使用了 OverLoding 请问如何 程序是如何执行的?
我是 需要建立一个Object 在使用A 中的同名方法还是直接建立 Object B 然后在使用 A的同名方法?
------解决方案--------------------有一个俗套的说法:
继承类是亲爹,只能有一个,实现接口是干爹,可以有多个.
class A extends 类B implements 接口C,接口D
这里的extends表示的是类继承,implements 表示的是接口实现.
你不能exnteds多个类,但你可以implements 多个接口.
OverLoding叫重载吧.重截是发生内一个类中的.覆盖是发生面父类(被继承类)与子类之间的.
子类与父类有个完全一样的方法.主要是直接使用Object B的时候发生的.
A a = new B();
a.aa();//假设B覆盖了A中的aa()方法.这时候调用的就是B中的aa()的方法
------解决方案--------------------不提供多重继承就是继承要保持唯一性,而多接口是指可以实现多个接口!
interface A()
{
}
interface B()
{
}
public class C()
{
}
public class Test extends C implements A,B
{
}
记住:实现了某个接口,一定要实现这个接口中定义的所有方法!(如果是抽象类实现的则可以不实现)
------解决方案--------------------A a = new B(); 声明A,实例化的是B,
然后a.aa();
如果B覆盖了A中的aa()方法.这时候调用的就是B中的aa()的方法 .
这是一种多态行为!
------解决方案--------------------如果允许多集成
那么如果两个父类有同名方法、调用子类的这个方法名就搞不清调谁。
但是允许实现多个接口,因为接口是没有具体实现的。