當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。