当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.lang.Class.asSubclass()用法及代码示例



描述

这个java.lang.Class.asSubclass() 方法强制转换此 Class 对象以表示由指定的类对象表示的类的子类。当客户端需要 "narrow" Class 对象的类型以将其传递给限制它愿意传递的 Class 对象的 API 时很有用接受。

声明

以下是声明java.lang.Class.asSubclass()方法

public <U> Class<? extends U> asSubclass(Class<U> clazz)

参数

NA

返回值

此方法返回此 Class 对象,转换为表示指定类对象的子类。

异常

ClassCastException- 如果这个 Class 对象不代表指定类的子类(在这个 "subclass" 中包括类本身)。

示例

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

package com.tutorialspoint;

import java.lang.*;

public class ClassDemo {

   public static void main(String[] args) {

     try {
         ClassDemo cls = new ClassDemo();
         ClassDemo subcls = new SubClass1(); 

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

         // sub class SubClass1
         Class c1 = subcls.getClass();
         System.out.println(c1);

         // represent a subclass of the specified class object
         Class retval = c1.asSubclass(c);

         System.out.println(retval);
      } catch(ClassCastException e) {
         System.out.println(e.toString());
      }
   }
}

class SubClass1 extends ClassDemo {
   // sub class
}

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

class com.tutorialspoint.ClassDemo
class com.tutorialspoint.SubClass1
class com.tutorialspoint.SubClass1

相关用法


注:本文由纯净天空筛选整理自 Java.lang.Class.asSubclass() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。