Java方法的重写
Java方法的重写
重写:需要有继承关系,子类重写父类的方法!
- 方法名必须相同
- 参数列表列表必须相同
- 修饰符:范围可以扩大但不能缩小 public > protected > default > private
- 抛出的异常:范围可以被缩小,但不能扩大
重写,子类的方法和父类要一致,方法体不同!
为什么要重写:
- 
父类的功能,子类不一定需要,或者不一定满足! IDEA快捷键:Alt + insert :override; 
package com.cnblogs;
//本类用于实现
public class Application {
    public static void main(String[] args) {
        //实例化父类
        Person person = new Person();
        //实例化子类
        Student stu = new Student();
        person.getName();//父类属性
        stu.getName();
        //子类属性
        //父类属性
    }
}
package com.cnblogs;
/*
person类
 */
public class Person {
    //父类属性
    private String name = "父类属性";
    //父类方法
    public void getName(){
        System.out.println(name);
    }
}
package com.cnblogs;
/*
student类
 */
public class Student extends Person{
    //子类属性
    private String name = "子类属性";
    //子类重写父类方法
    @Override
    public void getName() {
        System.out.println(name);
        //super关键字
        super.getName();
    }
}
总结:
重写的要求:两同两小一大
两同:方法名 参数列表 要完全一致
两小:
子类返回值类型小于等于父类的返回值类型(注意此处说的是继承关系,不是值大小)
子类抛出异常小于等于父类方法抛出异常
一大:子类方法的修饰符权限要大于等于父类被重写方法的修饰符权限
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号