和标准类型数据的转换一样,类对象之间也可以相互转换,!!!!前提条件是源和目的类之间必须通过继承相联系。转换可分为显示和隐式两种,显示转换格式为:
(类名)对象名
它将对象转换成类名所表示的其他对象。Java支持父类和子类对象之间的类型转换,将子类对象转换为父类时,可进行显示转换或隐式转换;将父类对象转换成子类时,编译器首先要检查这种转换的可行性,如果可行,则必须进行显示转换。
class A
{
String s="class A";
}
class B extends A
{
String s="class B";
}
public class TV1 {
public static void main(String[] args) {
B bb,b=new B();
A a,aa;
a=(A)b;//显示转换
aa=b;//隐式转换
System.out.println(a.s);
System.out.println(aa.s);
bb=(B)a;//显示转换
System.out.println(bb.s);
}
}
结果
class A
class A
class B
分析:b是子类B的实例,将其转换为父类A的实例时可以进行显示或者隐式转化。而将父类对象a转换为子类B的对象时,必须进行显示转换。