多态(polymorphisn)可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。
封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。
而多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。
静态多样性就是在编译时期确定函数的调用关系的,而动态多样性是在程序运行时确定函数的调用关系的。
静态多样性:比如函数重载技术利用参数的不同确定调用关系,函数模版技术利用类型的不同生成不同的执行代码。
重载:
指在同一个类中:方法名相同,返回类型相同(必须),参数列表不相同;public void eat(); public void eat(String str);
重写override: 子类和父类的问题 父类有一个public void eat(); 子类又写了一个public void eat(); 方法名相同,返回类型相同,参数列表相同! 如果在子类写了一个public void eat(String str);那么这不是重写!而是子类的重载!