Java (对象间的类型转换)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JACK_JYH/article/details/52358297

和标准类型数据的转换一样,类对象之间也可以相互转换,!!!!前提条件是源和目的类之间必须通过继承相联系。转换可分为显示和隐式两种,显示转换格式为:
(类名)对象名
它将对象转换成类名所表示的其他对象。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的对象时,必须进行显示转换。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页