日期:2014-05-20  浏览次数:20685 次

java 继承问题
如过 3个类 A B C
类 A 里 有方法 1
类 B 里方法 2
类C 里有方法3

如果 b继承 a

c继承b
那 c 怎么用 a 的方法 啊 ?
怎么写得 啊 super.1?

------解决方案--------------------
class A {
void method1(){
System.out.println("in A");
}
}

class B extends A {
protected void method2(){
System.out.println("in B");
}
}

class C extends B{
public void method3(){

super.method1();//super 可以 但method1()不能是private的
this.method2();//this 也可以

System.out.println("in C");
}
}

public class Test11 {

public static void main(String[] args) {
new C().method3();
}
}
------解决方案--------------------
b继承a,那么b就有了a的方法,即b的方法有:方法1和方法2
c继承b,那么c就有了b的方法,即c的方法有:方法1,方法2,方法3
------解决方案--------------------
探讨
如过 3个类 A B C
类 A 里 有方法 1
类 B 里方法 2
类C 里有方法3

如果 b继承 a

c继承b
那 c 怎么用 a 的方法 啊 ?
怎么写得 啊 super.1?

------解决方案--------------------
不用写super吧,直接当自己的方法用就好了。super是在自己的方法覆盖了父类的方法,才用super去调用父类被覆盖的方法的。
------解决方案--------------------
直接用就行了
------解决方案--------------------
直接调用啊