一.重写(方法覆盖)
父类中已有方法,可在子类中重新改写,进而令此方法更加适合子类需求。
二.特征
1.方法体可以根据子类需要进行修改。
2.方法名,参数列表,与父类相同。
3.访问权限大于等于父类。
4.检测:@Override检测是否为重写方法。
5.final,private,static修饰的方法不能重写。
6.重写后的方法不能用static修饰。
7.返回类型为父类返回类型子类,或与父类相同。
8.调用父类方法:
super.方法
不能用在静态代码块中
三.代码示例:
package text3;
public class Fire {
public Object A (int a)
{
System.out.println("父类A");
return "父类A返回值";
}
public String B (int a)
{
System.out.println("父类B");
return "父类B返回值";
}
}
package text3;
public class FireB extends Fire{
@Override
public String A (int a)
{
System.out.println("子类A");
return "子类A返回值";
}
public String B (int a)
{
System.out.println("子类B");
return "子类B返回值";
}
{
System.out.println(super.A(6));
System.out.println(super.B(6));
}
/*static{
System.out.println(super.A(6));//不能在静态代码块中调用父类方法
System.out.println(super.B(6));
}*/
public static void main(String[] args) {
FireB fire=new FireB();
System.out.println(fire.A(6));
System.out.println(fire.B(6));
}
}
运行结果:
父类A
父类A返回值
父类B
父类B返回值
子类A
子类A返回值
子类B
子类B返回值