方法重写
什么是方法重写
方法重写是父类与子类多态性的一种表现,如果子类中出现了一个名称与父类中的名称一样的方法,那么子类中的方法称作对父类中方法的重写
举个例子
class A{
public void add()
{
System.out.println("add");
}
}
public class B extends A{
public void add()
{
System.out.println("方法重写add");
}
public static void main(String[] args) {
A a=new B();
a.add();
}
}
输出结果为 :方法重写add
假如 A a=new A();
a. add();
输出就是:add
实例化的是哪个对象就调用哪个对象的方法
假如这么写
class A{
public int add()
{
System.out.println("add");
return 0;
}
}
public class B extends A{
public void add()
{
System.out.println("方法重写add");
}
}
这样写 就会出现编译问题
因为子类中出现了add方法 父类中也出现了add方法 编译器就会
认为是方法重写 那么方法重写 返回值的类型就必须一摸一样
方法重写的时候 子类与父类中方法的结构必须一致 就算添加 static等修饰符也要同步添加 安全修饰符也要同步 不能一个public 一个private 但是你可以在子类中加上final关键字
也就是说:子类与父类中方法的结构必须一摸一样 除了方法体和final 关键字