黑马程序员技术交流社区

标题: 类名.class到底是什么意思 [打印本页]

作者: 大头喝果啤    时间: 2014-7-8 16:35
标题: 类名.class到底是什么意思
类名.class到底是什么意思?一直没搞懂
作者: 杨殿生    时间: 2014-7-8 16:46
获取该类的字节码,也就是说被编译器加载进内存,用0和1表示的对象
作者: hengxing0079    时间: 2014-7-8 17:23
楼上正解!
就是获取类的字节码,来自反射第一章
这是我做的笔记中一段↓
如何得到各个字节码对应的实例对象( Class类型)
        ○类名.class,例如,System.class //得到system类的字节码
        ○对象.getClass(),例如,new Date().getClass() //有了一个对象,这个对象是字节码创建出来的(得到创建对象的字节码)
        ○Class.forName("类名"),例如,Class.forName("java.util.Date"); //静态方法查询或者加载字符串所对应类的字节码
         //这三种用的频率都很高
         //反射主要用第三种,因为写源程序的时候还不知道类的名字,在运行的时候传过来的一个字符串,这个字符串传来的一个类名,就是说("java.util.Date")把它当成字符串的变量,等程序运行的时候这个变量的值装载进来,就是类的名字("java.util.Date");在写源程序的时候不用知道,等运行的时候临时送进来,而System.class在写程序的时候就已经知道了




作者: 布鲁图斯    时间: 2014-7-8 18:11
杨殿生 发表于 2014-7-8 16:46
获取该类的字节码,也就是说被编译器加载进内存,用0和1表示的对象

.class文件是0和1表示的吗?
作者: 杨殿生    时间: 2014-7-8 19:02
布鲁图斯 发表于 2014-7-8 18:11
.class文件是0和1表示的吗?

当类被加载进内存了,也就是说.class文件被加载进内存,这时候会分配一片内存空间,专门来存储该类的字节码(进了内存无论是啥都是0和1),然后Class类就是描述这类事物的类
作者: 寻得美好    时间: 2014-7-8 19:21
该类的字节码文件对象
作者: 晴儿    时间: 2014-7-9 13:45
.class文件中都是二进制数据。
作者: 醉、倾鯎    时间: 2014-7-9 17:11
该类的字节码文件,在内存中产生的,所以都是二进制数据,哥们你是不是学多线程呢?这个锁其实不是一定要用类名.class




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2