1. Class オブジェクトの getClasses() メソッドは、クラス内のすべてのパブリック内部クラスと、親クラスおよび親インターフェイスから継承された内部クラスを取得します。 getinterfaces() メソッドは、クラスによって継承されたすべてのインターフェイスを返します。
import javax.print.attribute.standard.PrinterInfo; interface HasBatteries{} interface Waterproof{} interface ShootsThings{} class Toy{ Toy(){} Toy(int i){} } class FancyToy extends Toy implements HasBatteries,Waterproof,ShootsThings{ public FancyToy() { // TODO 自动生成的构造函数存根 super(1); } } public class ToyTest { public static void main(String[] args){ Class class1=null; try{ class1=class1.forName("FancyToy"); }catch (ClassNotFoundException e) { // TODO: handle exception } printInfo(class1); Class[] faces=class1.getInterfaces(); for(int i=0;i<faces.length;i++){ printInfo(faces[i]); } Class cy=class1.getSuperclass(); Object cObject=null; try{ cObject=cy.newInstance(); }catch (Exception e) { // TODO: handle exception } printInfo(cObject.getClass()); } static void printInfo(Class cc){ System.out.println("Class name:"+cc.getName()+" is interface? "+cc.isInterface()); } }
2. Class オブジェクトの forName() を使用する場合、渡されるクラス名パラメーターには、パッケージ名.クラス名、java.lang.String などのクラス名を単に追加することはできません。
りー以上がJava で実行時にデータ型を識別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。