方法重写
一、方法重写的简单描述
1.概述
例如有两个类A、B,B类继承A类,我们称A类是父类,B类是子类,其中父类(A类)中有一个方法cal(),而子类中也有一个同样的方法cal(),而且和父类的名称、返回类型、参数都一样。
2.举例
package com.mwx.test01;
public class A
{
public void cal(){
System.out.println("这是父类的cal()方法");
}
}
package com.mwx.test01;
public class B extends A
{
public void cal(){
System.out.println("这是子类的cal()方法");
}
}
下面是一个C类,我们在C类里面实例化B类对象
package com.mwx.test01;
public class C
{
public static void main(String[] args)
{
B b = new B();
b.cal();
}
}
结果为
二、细节的描述
1.平时关注少的点
我们上面讲过,子类的方法名、返回类型、参数等与父类都一样的时候,就构成了方法的重写。有一个细节我们要注意,就是当子类的返回类型和父类不一样的时候,但是子类的方法返回类型是父类方法返回类型的子类,我们仍然认为是方法的重写。
2.举例说明1中说明的点
package com.mwx.test01;
public class A
{
public Object cal(){
System.out.println("这是父类的cal()方法");
return null;
}
}
package com.mwx.test01;
public class B extends A
{
public String cal(){
System.out.println("这是子类的cal()方法");
return null;
}
}
返回类型String是Object的子类,所以说,仍然构成方法的重写。