Java怎么在运行期间鉴定数据类型

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()使用时传递的类名classname参数是需要全名的,不能只加类名,比如包名.类名,java.lang.String。

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());    }}

以上就是Java怎么在运行期间鉴定数据类型的详细内容,更多请关注其它相关文章!

有理想在的地方,地狱就是天堂

Java怎么在运行期间鉴定数据类型

相关文章:

你感兴趣的文章:

标签云: