安徽天筑建设集团网站,泉州建设网站,郑州企业建设网站有什么好处,写作网站5秒不写就删除重载(Overload)
在同一个类中#xff0c;同名的方法如果有不同的参数列表#xff08;参数类型不同、参数个数不同甚至是参数顺序不同#xff09;则视为重载。同时#xff0c;重载对返回类型没有要求#xff0c;可以相同也可以不同#xff0c;但不能通过返回类型是否相同…重载(Overload)
在同一个类中同名的方法如果有不同的参数列表参数类型不同、参数个数不同甚至是参数顺序不同则视为重载。同时重载对返回类型没有要求可以相同也可以不同但不能通过返回类型是否相同来判断重载。
注意 1.重载Overload是一个类中多态性的一种表现 2.重载要求同名方法的参数列表不同(参数类型参数个数甚至是参数顺序) 3.重载的时候返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准
重写(Override)
在子类中把父类有的方法重新写一遍。子类继承了父类原有的方法但有时子类并不想原封不动的继承父类中的某个方法所以在方法名参数列表返回类型都相同的情况下 对方法体进行修改或重写这就是重写。
注意 1.子类函数的访问修饰权限不能少于父类的publicprotecteddefaultprivate)。 2.父类被static、private修饰的方法、构造方法都不能被重写。 3.子类和父类在同一个包中那么子类可以重写父类所有方法除了声明为 private 和 final 的方法。 4.子类和父类不在同一个包中那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。
区别
区别点重载重写发生的类同一个类子类参数列表必须修改一定不能修改返回类型可以修改一定不能修改访问限定符可以修改一定不能做更严格的限制可以降低限制异常可以修改可以减少或者删除一定不能抛出新的或者更广的异常
重载发生在同一个类中方法名相同、参数列表、返回类型、权限修饰符可以不同
重写发生在子类中方法名、参数列表、返回类型都相同权限修饰符要大于父类方法声明异常范围要小于父类方法但是final和private修饰的方法不可重写