java反射一直没有弄明白的一个问题:
例如,String st
st 与String.class 到底什么关系?
java 反射
例如,String st
st 与String.class 到底什么关系?
java 反射
解决方案 »
- java中使用pain函数的问题
- 反射代码 在类中的位置 问题
- 高分求助: JFace TableViewer UNDO的问题
- 关于import
- 跪求拉``偶想不出```急死偶了``高手帮帮忙啊```在线等``
- 请问这样的功能怎样用java实现:在一台服务器上运行的代码在另外一台服务器的指定目录下创建文件?谢谢!!
- runtime.exec這個方法除了可以執行.exe外,還可以執行哪些程序??.bat的可以嗎
- 如何将ArrayList类中的内容转化成其它类型
- 一个菜问题
- 请帮我分析一下这道题~~~~~~~~~
- 关于mybatis只能查询英文,不能查询中文的问题!!!!
- swing除了运行慢以外,还有什么缺点吗,进来谈谈
String st;其实是你定义了一个String类型的对象,此时这个对象没有指向任何引用,为null,如果试图去调用st的任何方法,会抛出NullPointerException。
而String.class,其实返回的是String类型的字节码文件对象的引用,楼主应该见过.java文件被编译后是.class文件,String.class其实就是String.java编译后的字节码在内存中以对象存在的形式,它是唯一的,任何调用String.class的地方都返回相同字节码对象的引用
String.class 是Class类的对象
每个类都有且只有一个Class类的对象,我们可以通过反射来得到对应的类的私有属性,私有构造方法,以及私有的方法等,当然公有的更不用说了,比如说单例模式中(保证对象唯一性),一般情况下我们在其他程序中不能创建新的对象(因为构造方法设置私有了),但是我们可以通过反射来得到很多对象。
而反射就需要用到Class类了。
言简意赅
st表示在内存中的一个空引用
class表示了一个类所具有的特征
两者完全独立的概念
楼主感受一下
言简意赅
st表示在内存中的一个空引用
class表示了一个类所具有的特征
两者完全独立的概念
楼主感受一下
Class还可以这样理解: java语言是面向对象的,所有的事物都可以抽象成一个类,比如人,动物,老师,学生,猪,猫狗等等,那么,所有的类也应该能被抽象成一个类,就是Class
public staitic String TT;
}A a
a与A.TT是什么关系?
2.Sting.class表示String类所具有成员