JAVA中的多态是类的固有属性,多态是由类的继承,重写,向上转型而产生的一种特质。举个例子我们创建一个叫程序员的class,这个class可以被很多class所继承,比如说前段程序员,后端程序员,数据库程序员等等。假如一个程序员拥有debug这项技能,那么毫无疑问前端程序员,后端程序员和数据库程序员也理应具备这项技能。假设我们现在有一个class叫项目经理,其中有一个function是这个项目经理调用程序员进行debug,虽然这个项目经理手下并没有程序员,但是他有前端程序员,那么直接调用前段程序员也能完成debug这项任务。在java中这样的调用被称为向上转型,在一个function对一个类的调用,我们直接对这个function输入这个类的子类,java会自动完成子类向父类的向上转型。其实这种特性我认为是java中抽象设计的一种产物,举个例子,为什么写项目经理调用程序员进行debug这个function,我们不把parameter程序员改成前端程序员?假设我们这样设计,那么当项目经理需要进行数据库debug的时候我们就必须重新再写一个调用数据库程序员debug的function。因为数据库程序员和前段程序员是并行的关系,他们debug的领域也是平行无交叉的,所以他们debug function的重写也应该是完全不同的。那么向上转型这一特性就大大提升了代码的可复用性,调用程序员进行debug这个function可以用来调用各种程序员。