Java中的多态和类型转换

一、Java中的多态

1.多态的进一步理解,多态可以理解为两个方面:

(1)父类型的引用可以指向子类型的实例或对象,

(2)接口类型的引用可以指向实现该接口的类的实例或对象(instance)。

由此来看,以后一提到多态,应该马上映射到向上转型。

2.接口就是一种特殊的抽象类,关键字interface,实现用implements。例如:结合数组定

义:

interface Interface1 implements Bb
{
}
Interface1[] = new Interface1[]{Bb(),Bb()};//数组

3.对象的多态一般就是两种形态:父类形态与本类形态。

子类的对象就在这两种形态之间相互转换。

(1)向上转型是把子类对象转成父类形态,限制子类的特有方法;

(2)向下转型是把子类对象从父类形态转成本类形态(向下转型的前提是先进行向上转型)。

4.Parent p = new Child();(1)当使用多态的方式调用方法时,首先检查父类中是否有此

方法,如果没有,则会出现编译出错,如果有则可编译通过,包括子类和父类都有此方法,子类的把父类的覆盖,调用的是子类中的此方法,如果子类中不存在此方法,直接调用父类的方法。因此编译时要看父类中是否存在此方法,调用时具体要看所指向对象的中的方法,先看子类方法的重写,若没有再调用从父类继承下来的方法。此规律仅限于成员方法。(2)*****对于成员变量,则只看引用所属类中是否有此变量,调用的也是父类中的变量值,与子类中的变量没有一点儿关系。

5.类类型的引用可以指向本类及其子类的对象;接口类型的引用可以用于指向

实现接口的子类的对象。这就是多态的体现。

6.这样让父类引用或接口引用作为形参,就可以接收很多子类的对象,拓展性

比较强。

7.多态:某一类事物的多种存在形态。

8.在java中多态的体现在:

(1)父类的引用可以指向本类及其子类的对象;