Class 类
在Java中万事万物皆为对象,那么类有没有对象呢?
所有类皆为Class类的实例,每一个类都有一个隐含的静态成员变量class。
我们可以通过Class类来获取其包含的属性,方法以及函数。
类类型:即一个对象所对应的类的类型
// 即i对象的类型为Integer,i的类类型为aClass
Integer i=100;
Class aClass=i.getClass();
class A{
void print(){
System.out.println("aaa");
}
}
class B{
public void static main(String []args){
Class c1=A.class
//第二种 通过getClass方法获取
A a=new A();
Class c2=a.getClass();
//第三种
Class c3=Class.forName("com.test.A");
//也可以通过某一个类的类类型创建其实例对象
A a2=(A)c1.newInstance();
//Java的泛型只存在于编译层面,可以通过方法的反射绕过编译器
ArrayList arrayList1=new ArrayList();
ArrayList<String> arrayList2=new ArrayList<>();
Class c1=arrayList1.getClass();
Class c2=arrayList2.getClass();
Method method=c2.getMethod("add",Object.class);
method.invoke(arrayList2,1000);
System.out.println(c1==c2);
// System.out.println(arrayList2.get(0).toString());
}
}