作用:现实事物经常会体现出多种形态,以学生为例,学生是人的一种,像是学生张三,不仅是学生,还是人,

出现了俩种形态.如果Student类继承了Person类,一个Student的对象就又是Student还是Person.

java的多态体现在一个子类对象,不仅可以给这个子类引用别量赋值,又可以给这个子类的父类(或接口)变量赋值.

 

多态的使用方法(用父类类型的变量去引用子类的对象):

父类类型(或接口) 变量名= new 子类类型();
变量名.方法名();

  同一个父类的方法会被不同子类重写,当调用方法的时候,调用的是各个子类重写的方法

但是用父类的变量去引用子类类型的对象.只能访问子类的父类成员变量和成员方法,而不能访问子

类中有但父类中没有定义的成员变量和成员方法.

 

多态转型

多态转型有俩种:

1、向上转型:父类类型变量引用子类类型变量

  

父类类型 变量名 = new 子类类型();

当子类使用父类的功能就能完成相应的操作,这时就可以使用向上转型

 

2、向下转型:子类类型变量引用父类类型变量

 

子类类型 变量名 =(子类类型) new 父类类型();

当父类想要使用子类特有功能的时候,就需要使用向下转型了;

 

instanceof关键字:像一个二目运算符,用于判断一个对象是否属于某种数据类型

对象 instanceof 数据类型;//返回值为boolean型,true或false

 

 

课后习题:

1、面向对象的三大特性是什么?

  继承、封装、多态

2、多态转型有哪些实现方式?

  有向上转型和向下转型,向下转型是使用父类类型变量引用子类对象,这样可以使用父类的方法,向下转型是使用子类类型变量引用父类对象(将父类对象强制转换成子类类型),这.当想要子类使用父类方法时,使用向上转型,想要父类使用子类方法时,使用向下转型.