首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

继承有关问题。有关问题还真是多吖。郁闷

2011-12-28 
继承问题。。。问题还真是多吖。。郁闷Java codepublic class A {public void method(){}}class B extends A{pu

继承问题。。。问题还真是多吖。。郁闷

Java code
public class A {    public void method()    {            }}class B extends A{    public int method()    {        return 1;    }    private void method(int j)    {            }}

为什么子类里面的两个method()方法会出错
我的意思是这个两个方法随便写一个在子类里面都会出错。
不是因为重命名的原因

[解决办法]
探讨
Override? Or Overwrite?
java中有两个概念很容易搞混Override和Overwrite
1,Override在java中翻译成重写或者覆盖,
而不是熟知的重载!!!
Override就是子类function跟父类function完全一致(非peivate函数),包括函数名,参数和返回值。
经过Override后的function,在子类中不再起作用,通过子类调用该function,只能
是子类的该function;另外,子类中允许出现该函数的同名函数,但参数不能一样!
其实这样的函数才是…

[解决办法]
你B是继承A,只要你B里有个跟A一样名字的方法并且参数也一样,java就认为你是override,但override要求方法跟父类的修饰符完全一样,第一个method有返回值所以出错,第二个method单独用不会出错,这个是Overwrite,应为你参数不同。

热点排行