重写:需要有继承关系,是子类重写父类的方法。
重写的特点:
1.方法名必须相同
2.参数列表必须相同
3.修饰符不能缩小,只能扩大(Public>Protected>Defalt>Private)
4.抛出的异常:范围只能缩小不能扩大(ClassNotFoundException ,Exception)
注意:子类和父类的方法必须一致,方法体不一致。
为什么需要方法的重写:可能父类方法的功能不适合子类,或者不满足
快捷键:Alt+Insert Override
public class Application {
public static void main(String[] args) {
A a = new A();
a.test();
//父类的引用指向了子类
B b = new A();//子类重写了父类的方法
b.test();
}
}
public class A extends B{
public void test(){
System.out.println("A");
}
}
//重写都是方法的重写,跟属性无关
public class B {
public void test(){
System.out.println("B");
}
}
方法重载与方法重写的关系:只是名字相似,没有什么具体联系。
方法重写 :
1.发生在父类和子类之间,允许子类重写父类的方法,是多态的具体表现。
2.子类中的方法名和参数必须与父类保持一致。
方法重载:
1.发生在同一类中,定义了多个同名方法,但是同名方法的参数个数和参数类型不同就形成了不同的方法