懂java的请进一下!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/18 01:29:13
我在学反射、Class类那段
比较迷惑
一个小问题
我有一个类Point
现在
Point pt=new Point();

Class c1=pt.getClass();

Class c2=Class.forName("Point");
我想问一下,这两个函数获得的究竟是Class类的一个对象还是Point类的一个对象,如果是Class类的一个对象,这个对象和Point有什么关系,能不能理解成是记录Point类的信息的对象呢?

Class类确实是用来记录Point类的信息的
比如说你可以用isPrimitive() 方法看一看这个类是不是基本类型,
isInterface()看一看这个类是不是接口,
isMemberClass() 看一看这个类是不是内部类等等.
又比如说你可以用getMethods()方法看一看这个类有哪些方法,
getFields()方法看看这个类有哪些字段等等.
Class最重要的还是利用newInstance(),getConstructor(Class<?>... parameterTypes) ,getConstructors() 等方法重新构造对象,这个我们经常称之为反射,不过反射对于我们这些做应用软件的人来说,可以说是不会用到,所以常常显得并不是那么重要,所以也很少有书籍对其介绍,如果想完全明白的话的话,我建议,看看Api,把里面每个方法的作用搞清楚,之后,你就不会感到困惑了

是Class类的一个对象,它存储了Point这个类的类信息
呃,你说的对

Class..属于所有类的超类.. 这样获取的是Class的对象..
如果你想要获取Point对象. 直接强制转换就可以了..

是Class对象,你可以这样理解Class对象是对象的元数据对象