两者的区别:
方法是重载和重写都是实现多态的方式,区别在于前者是实现编译时候的多态性,后者是实现运行时候的多态性
重载:发生在一个类里面,方法名称相同,参数列表不同(参数类型不同,个数不同,顺序也不同),与方法的返回值和访问修饰符无关,即重载不能根据方法的返回类型进行区分。
重写:发生在父子类中,方法名,参数列表必须相同,返回值小于或者等于父类,访问修饰符大于等于父类,如果父类的方法访问修饰符为private就不能被子类重写。
构造器是否可被重写
构造器不能继承,所以就不能被重写,但是可以重载。
方法重载的规则
方法名称相同
参数列表不同(参数的类型,和参数的个数)
返回值不影响重载
方法重写的规则
子类重写父类的方法
方法名称相同
参数列表也必须相同
返回值也必须相同
访问权限不能比父类的低
声明为final和static的方法不能被重写
构造方法不能被重写