如果A中的方法被B覆写,似乎C中调用的时候,只能触发B中的方法,无法触发A中的方法;
解决方案 »
- 编译说需要标识符~~
- 学习Java多线程和集合,关于集合的同步问题,请教版上高手!
- 往hashmap中存数据,如何解决重复问题--2个问题
- java中的swing编程
- util 这个单词是什么意思?
- 求教!能不能在代码中随机生成对象?
- Java高手请进来!!!
- 在Java程序中,我应该怎样实现四舍五入,保留小数点后1位小数?
- 急!!哪儿有Dynamo Application Server,急用! [email protected]
- 对java3d了解的朋友帮一下忙!谢谢!
- 我又只有10分了(分怎么老是不够用呢),我给钱行吗. 我有个小问题没搞懂,麻烦你进来看一下.
- 请教一个连接访问SQL的问题
B
C
晕,如果A中的方法不是私有的,一定被B继承了,因此也就属于B。所以,C要用的话,还是用super 就可以了。
如果希望子类可以访问,一般用protected修饰
如果B覆盖了A的同一个方法,C肯定无法调用到A的同名方法了.
而且在调用的时候也只能用class.method调用(这里method指的是有重名的method)
这样来说,就只能把A和C类里的method写成static
然后用A.method,C.method调用
不必要去覆盖
protected修饰的函数,在private的基础上再加一个子类可以访问super()就是父类的构造函数,它的访问权限和一般函数一样如果要实现同名函数,就直接覆盖啊
public class A
{
public void display()
{
System.out.println("I am in A");
}
}
public class B extends A
{
public void display()
{
System.out.println("I am in B");
}
}
public class C extends B
{
public void display()
{
System.out.println("I am in C");
}
}
你的意思是要在C中调用B中的display()可以用super.display(),那么在C中调用A中的display()要怎样是吧?
我看过在超类里方法是public 那不是更没意义用super了 有人指点下吗?