5.覆盖(Override)
马克-to-win:方法的覆盖(Override)是指子类重写从父类继承来的一个同名方法(参数、返回值也同)。
例1.5.1--
class AAAMark_to_win {
double f(double x, double y) {
return x * y;
}
}
class BBB extends AAAMark_to_win {
double f(double x, double yMark_to_win)
/*注意这里的返回值必须为double,如返回int值,
我试过报错,因为sun公司不出这个语法,他没法办,
到时obj.f(4,6)不知道调用基类还是本类的方法。
*/
{
return x + yMark_to_win;
}
}
public class Test {
public static void main(String args[]) {
AAAMark_to_win a = new AAAMark_to_win();
System.out.println(a.f(4, 6));
BBB obj = new BBB();
System.out.println(obj.f(4, 6));
}
}
例1.5.2---
class AAAMark_to_win {
double f(double x, double yMark_to_win) {
return x * yMark_to_win;
}
}
class BBB extends AAAMark_to_win {
double f(double x, double y) {
return x + y;
}
}
public class Test {
public static void main(String args[]) {
AAAMark_to_win a = new AAAMark_to_win();
System.out.println(a.f(4, 6));
BBB obj = new BBB();
System.out.println(obj.f(4, 6));
/* 基类指针指向子类或说派生类效果就像子类指针指是一样的,为什么?马克-to-win:因为new BBB();时,BBB的属性的内存空间也被开辟了。只是语法上允许“基类指针指向派生类”
*/
AAAMark_to_win obj1 = new BBB();
System.out.println(obj1.f(4, 6));
}
}
更多请见:https://blog.youkuaiyun.com/qq_44639795/article/details/103118765
本文详细阐述了Java中方法覆盖的概念、实现方式及其在实际编程中的应用。通过具体代码实例,解释了如何在子类中重写父类方法,并讨论了基类指针指向派生类的特性。旨在帮助开发者掌握方法覆盖的基本知识,提高代码复用性和灵活性。
3112

被折叠的 条评论
为什么被折叠?



