重载和重写的区别
重载:
是发生在同一类中,
方法名称必须相同,
方法参数必须不同(参数个数不同,参数类型不同,参数顺序不同),
与返回类型无关,
访问修饰符无关,
可以抛出异常
重写:
发生在有继承关系的子类中,
方法声明相同,
方法名称相同,
参数列表相同,
返回类型相同,
访问修饰符不能更小,
不可抛出更多异常,但可抛出非编译异常(如运行时异常RuntimeException)。
当父类访问修饰符为private时,即使子类有同名的方法,也不能重写。
非静态方法不能被重写成静态方法。
非静态类的静态方法,不能被重写。
时间: 2024-08-28 00:02:35