Class Super{ public float getNum(){return 3.0fj)} public class Sub extends Super{ //这里要插入方法}在该程序的第6行中插入下面哪个方法会引起编译错误?( )
a.public float getNum(){retum 4.0f;)
b.public void getNum(){}
c.public void getNum(double d){}
d.public double getNum(float d){retun 4.Od;}怎么选啊?谁给我解释解释啊!
a.public float getNum(){retum 4.0f;)
b.public void getNum(){}
c.public void getNum(double d){}
d.public double getNum(float d){retun 4.Od;}怎么选啊?谁给我解释解释啊!
b.public void getNum(){} //会,返回类型和父类的方法不一致
c.public void getNum(double d){} //不会,这个的参数和父类不一样,在子类中是一个新的方法
d.public double getNum(float d){retun 4.Od;} //不会 同上,是一个新的方法覆盖 :* 覆盖的方法的标志必须要和被覆盖方法的标志完全匹配,才能达到覆盖的效果
* 覆盖的返回值必须和被覆盖的方法的返回值一致
* 覆盖的方法所抛出的异常必须和被覆盖方法所抛出异常一致,或是其子类
* 被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖
* 参数的类型必须一致,否则只是子类的一个新方法