Java.lang.Class.cast() 方法

描述

java.lang.Class.cast() 方法将一个对象强制转换为这个 Class 对象所代表的类或接口。


声明

以下是 java.lang.Class.cast() 方法的声明。

public T cast(Object obj)

参数

obj − 这是要投射的对象。


返回值

此方法在转换后返回对象,如果 obj 为 null,则返回 null。


异常

ClassCastException − 如果对象不为 null 且不可分配给类型 T。


示例

下面的例子展示了 java.lang.Class.cast() 方法的使用。

package com.tutorialspoint;

import java.lang.*;

class A {
   public static void show() {
      System.out.println("Class A show() function");
   }
}

class B extends A {
   public static void show() {
      System.out.println("Class B show() function");
   }
}

public class ClassDemo {

   public static void main(String[] args) {

      ClassDemo cls = new ClassDemo();
      Class c = cls.getClass();      
      System.out.println(c);  

      Object obj = new A();        
      B b1 = new B();
      b1.show();

      // casts object
      Object a = A.class.cast(b1);

      System.out.println(obj.getClass());
      System.out.println(b1.getClass());
      System.out.println(a.getClass());               
   }
} 

让我们编译并运行上面的程序,这将产生下面的结果 −

class com.tutorialspoint.ClassDemo
Class B show() function
class com.tutorialspoint.A
class com.tutorialspoint.B
class com.tutorialspoint.B