class Base { public String age; public Base() {} }
class Dog extends Base { private String name; protected String shortName; public Dog(String name) {this.name = name;} private Dog() {} public void displayName() {System.out.println(name);} }
输出: ---publicFields--- public java.lang.String Base.age ---allFields--- private java.lang.String Dog.name protected java.lang.String Dog.shortName ---publicMethods--- public void Dog.displayName() public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException public final void java.lang.Object.wait() throws java.lang.InterruptedException public boolean java.lang.Object.equals(java.lang.Object) public java.lang.String java.lang.Object.toString() public native int java.lang.Object.hashCode() public final native java.lang.Class java.lang.Object.getClass() public final native void java.lang.Object.notify() public final native void java.lang.Object.notifyAll() ---allMethods--- public void Dog.displayName() ---publicConstructors--- public Dog(java.lang.String) ---allConstructors--- public Dog(java.lang.String) private Dog()
//People类 public class People<T> {} //Person类继承People类 public class Person<T> extends People<String> implements PersonInterface<Integer> {} //PersonInterface接口 public interface PersonInterface<T> {}
获取泛型类型
1 2 3 4 5 6 7 8
Person<String> person = new Person<>(); //第一种方式 通过对象getClass方法 Class<?> class1 = person.getClass(); Type genericSuperclass = class1.getGenericSuperclass();//获取class对象的直接超类的 Type Type[] interfaceTypes = class1.getGenericInterfaces();//获取class对象的所有接口的Type集合