84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
如题,最近看java基础时,看到了关于继承的重写和重载部分,方法的重载可以实现代码的多态,但是重写我就不是很理解为什么要这么写,希望有心人帮忙解释下。小白这里先谢过了。
光阴似箭催人老,日月如移越少年。
重写的话,也能实现代码的多样性。
子类继承了父类之后,调用父类的方法,就不需要重复写,节省代码量。
如果使用条件变更,父类的方法不能满足使用需求,那么你就需要重写方法了,把父类的方法覆盖掉。
重写可以跟java的许多模式配合。
你理解错了,重写才是实现多态的关键,重载只是添加几个参数,重用方法名而已。至于为什么重写是实现多态的关键,是因为面向对象鼓励面向接口编程,或者面向抽象编程。例如:
一个水果的父类,有printName方法:
public class Fruit { public void printName() { System.out.println("Fruit"); } }
苹果和橘子都可以是Fruit的子类,但是你实现过程中可以重写printName方法,从而实现不同的名字输出。
继承的好处之一就是减少代码量,相同的语句没必要每个类都写,直接继承,就好比父亲和儿子的关系,儿子会继承父亲的所有特性,但是儿子也可以自己发展。
重写父类方法,以一个模板定义一个特别的类,在外面看起来都是一样的,但是里面却不相同,面向接口编程优势就在这里
重写的话,也能实现代码的多样性。
子类继承了父类之后,调用父类的方法,就不需要重复写,节省代码量。
如果使用条件变更,父类的方法不能满足使用需求,那么你就需要重写方法了,把父类的方法覆盖掉。
重写可以跟java的许多模式配合。
你理解错了,重写才是实现多态的关键,重载只是添加几个参数,重用方法名而已。至于为什么重写是实现多态的关键,是因为面向对象鼓励面向接口编程,或者面向抽象编程。例如:
一个水果的父类,有printName方法:
苹果和橘子都可以是Fruit的子类,但是你实现过程中可以重写printName方法,从而实现不同的名字输出。
继承的好处之一就是减少代码量,相同的语句没必要每个类都写,直接继承,就好比父亲和儿子的关系,儿子会继承父亲的所有特性,但是儿子也可以自己发展。
重写父类方法,以一个模板定义一个特别的类,在外面看起来都是一样的,但是里面却不相同,面向接口编程优势就在这里