Java で実行時にデータ型を識別する方法

PHP中文网
リリース: 2017-06-22 11:50:18
オリジナル
1488 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート