Java Class类 cast()方法及示例

Class类cast()方法

  • 在java.lang包中提供了cast()方法

  • cast()方法将此Object强制转换为该Class或此Class对象表示的接口。

  • cast()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • cast()方法可能会在投射对象时抛出ClassCastException
    ClassCastException:如果给定对象不为null,则在此异常中。

语法:

    public Type cast(Object o);

参数:

  • 对象o –表示要投射的对象。

返回值:

此方法的返回类型为Type,它根据给定的情况返回以下值,

  • 它返回转换对象。

  • 当给定的Object为null时,它返回null。

示例

//Java程序演示示例 
//类的类型cast(Object o)方法的说明 

class A1 {
 //A1空白实施
}

class B1 extends A1 {
 //B1空白实施
}

public class MainClass {
 public static void main(String[] args) {
  //创建MainClass的实例
  MainClass mc = new MainClass();

  //显示类别
  System.out.println("mc.getClass():" + mc.getClass());

  //创建类A1和B1的实例
  A1 a = new A1();
  B1 b = new B1();

  //使用cast(b)方法将对象b转换为a-
  Object a1 = A1.class.cast(b);

  //显示类别 of object a , b and a1
  System.out.println("a.getClass(): " + a.getClass());
  System.out.println("b.getClass(): " + b.getClass());
  System.out.println("a1.getClass(): " + a1.getClass());
 }
}

输出结果

mc.getClass():class MainClass
a.getClass(): class A1
b.getClass(): class B1
a1.getClass(): class B1