java中的一些小问题。

请问各路大神,java中子类里的方法不得对父类中的方法进行覆盖这句话怎么理解?图片说明图片说明图片说明

父类中的方法是抽象方法,说白了就是这个方法没有{}这个

哪里说的,,为什么不能重写(覆盖)父类方法?

你要覆盖了,怎么去调用????子类可以调用父类方法的,
虽然不能覆盖,但是可以重载

因为重载是参数列表不一致,调用时可以区分

你说的是final吧?如果父类方法有final修饰,那么,子类不能重新这个方法,只能使用父类的方法

像这种问题只要你写代码写得多了,自然就明白了

你可以重写父类方法,如果是常量修饰的,就不能重写,你可以super();

可以用override啊,不过有几个点注意一下

关于Override有几点要注意的地方:
1.被覆盖方法的访问控制级别可以不一样。
例如上例父类的showMess方法的访问级别为protected的,而子类覆盖的showMess方法访问级别则为public的。

但子类的访问级别必须要高于父类被覆盖方法的访问级别,如果父类是public的而子类是protected的则是错误的。

2.方法被定义为private或static或final的则不能被覆盖。

3.方法的返回类型:子类的返回类型可以是更具体的对象,例如可以将Employee类的返回类型改为Object也正确。而倒过来则错误。

4.在方法调用时先会在子类中找覆盖的方法,如果子类中没有则会在父类中去找。
(来自http://skyuck.iteye.com/blog/764696)

当父类的方法是使用final修饰的时候,表示方法不可以被覆盖.
这肯定是有final做限定条件的或者父类的方法是使用private修饰的