Java中向上转型与向下转型

一.向上转型

  引用变量的类型转换是将引用转换成另一个类型的引用,并不改变对象本身的类型。Java中的向上转型是指将对象的类型转为任意一个其直接或间接超类的类型或接口,即超类引用指向子类对象。

其基本语法为:

Father f1 = new Son();

public class Person{

}

public class Employee extends Person{

}


public class Tester{
    public static void main(String[] args){
        Person p1 = new Employee();    //p1为超类Person引用,指向Employee子类对象
    }
}

二.向下转型

  当引用所指向的对象类型为子类对象、超类引用时,可以将其转换成引用所指向的子类对象,这是唯一可以向下转型的情况。其基本形式为:

Father f1 = new Son();
Son s1 = (Son)f1;

例:

public class Person{

}

public class Employee extends Person{

}


public class Tester{
    public static void main(String[] args){
        Person p1 = new Employee();   //p1指向Employee子类对象
        Employee m1 = (Employee)p1;  
    }
}

  

  

猜你喜欢

转载自www.cnblogs.com/thwyc/p/12317723.html