JAVA中,子类是不是只继承其直接父类?(针对于父类还有父类的情况)A继承于B,B继承于C。A只继承B的??

2024-10-30 21:45:30
推荐回答(5个)
回答1:

不是,继承,是拇该类可继承访问其父类的所有非私有属性和方法。
A类最终是拥有C类中的非私有属性和方法的,如果C类有的话。

你可以做个实验:
A、B、C三个类都有一个private, protect, public 属性。
你看看在A类不能不能访问C类的属性,这样就清楚了。

回答2:

同时继承父类的父类,也就是C.
包括public ,private ,protected 域名的方法和属性,但是private域的属性或者方法子类是没有资格访问的(这里需要注意,没有权限访问并不代表没有继承),所以说子类是继承了基类(父类)的所有.

回答3:

会继承所有的,既有B 也会有C, 你在A里面用super调用父类的方法或者属性,是一个递归的查找过程,先去直接父类B中,查找,如果有就返回,如果没有,继续向B的父类C查找,以此类推

回答4:

我和你举个列子你就明白了
class A
{
public A()

{
System.out.println("调用A构造方法");

}
}
class B extends A
{
public B()
{
super();

System.out.println("调用B构造方法");
}
}
class C extends B
{
public C()
{
super();

System.out.println("调用C构造方法");
}
}
main:
C c= new C();
结果打印出
调用A构造方法

调用B构造方法

调用C构造方法

所以看出来构造C的同时会创建A,B
先创建A 在B 最后C
其实C继承了A,B
不懂的再问吧

回答5:

错了,我们说JAVA的类都是继承自Object ,那么也就是说子类继承所有父类。