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과 같은 클래스 이름만 추가할 수 없습니다.
아아아아위 내용은 Java에서 런타임 중에 데이터 유형을 식별하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!