重载和重写的区别以及应⽤场景
⼀、重写(Override)
⼦类继承⽗类,⼦类重写⽗类中的所有公共⽅法,覆盖⽗类的⽅法并对其重写。
扮猪吃老虎注意事项:
重写前后⽅法名相同;参数列表相同; 返回值相同中专幼师
⼦类重写的⽅法所抛出的异常必须与⽗类中的被重写⽅法的异常⼀致,或者不能⽐⽗类的异常范围更⼤。
⽗类的私有⽅法不能被重写,如果⼦类⾮要写这个同名⽅法,只是定义了⼀个与⽗类⽅法相同的新⽅法,⽽并不是重写⽗类的⽅法。 ⼦类重写⽅法的访问权限不能低于⽗类⽅法中的访问权限,即⼦类的访问权限可以>=⽗类。j举个例⼦:⽗类是public ⼦类也可以是public,但是不可以是private;⽗类是private,⼦类可以是public或者private等等,只要⽐private权限⼤的都可以。
⼆、重载
才高八斗的故事
晋商>病毒属于生物吗
施工合同通用条款重载是多态性的⼀种表现。重载是指在⼀个类中定义了多个同名的⽅法,但他们的参数列表是不同的,也就是说有不同的参数个数或有不同类型的参数类型。
注意事项:
重载是通过⽅法中参数的不同来区分的,包含参数个数、参数类型、参数顺序等等。
海洋动物表演
如果⽗类⽅法访问权限为private,那么⼦类就不能对其进⾏重载;如果⼦类写了这个同名的⽅法,那只是定义了⼀个与⽗类⽅法相同的新⽅法,并不会得到重载的效果。
三、重载与重写的区别
重写时⼦类继承⽗类的⽅法,涉及到两个类;重载是同⼀个类⽅法之间的关系,只是参数或者参数类型不同,在⼀个类中。
重写的参数列表相同,重载的参数列表不同。
四、重写和重载的应⽤场景
在类中,要以统⼀的⽅式处理不同类型数据的时候,可以⽤重载。重载是多样性,是多态类型的演⽰,不修改原⽅法及源代码的基础上对⽅法进⾏扩展或增强时,使⽤重写。描写下雨的诗句
重写的前提是继承,⼦类继承⽗类,⼦类才可以继承⽗类中的公有⽅法,增加新的功能、在原有的代码基础上对⽅法进⾏扩展和增强,需要⽤重写,提⾼了程序的多样性。重写时,参数列表,返回值得类型不能修改,异常可以减少或者删除,不能抛出新的异常或者⽐⽗类异常更⼴的异常,⽅法的访问权限可以降低,但是不能⽐⽗类权限⾼。
重载是构造器的重载,构造器重载后,提供多种形参形式的构造器,可以应对不同的业务需求,加强程序的健壮性和可扩展性。重载必须要修改⽅法(构造器)的形参列表,可修改返回值类型,也可修改访问权限(异常);使⽤范围是在同⼀个类中,⽬的是对构造器进⾏功能扩展,以应对多业务场景的不同使⽤需求。