黑马程序员技术交流社区
标题:
关于反射的问题
[打印本页]
作者:
小海
时间:
2014-3-21 10:09
标题:
关于反射的问题
本帖最后由 小海 于 2014-3-22 20:19 编辑
老师在讲反射时谈到了字节码,请问什么是字节码啊!
作者:
chaos
时间:
2014-3-21 14:49
可以由java虚拟机运行的代码,它本身是二进制
作者:
凝霜的枯藤
时间:
2014-3-21 14:59
字节码:数据信息的一种表现格式.class文件(由Java字节码构成,包含类的重要信息).即字节码文件
Java编译器:负责将.java文件编译(解释)成.class文件
Java虚拟机(JVM):寻找到.class文件,运行,然后程序就跑起来了..
只要有JRE(Java 运行环境),就可以将编译后的.class文件运行.
这就是Java一次编译,到处执行..
作者:
小海
时间:
2014-3-21 16:13
恩恩,字节码是一个类吗?那字节码可以创建对象吗?在反射中得到的字节码主要都用于什么操作呢?
作者:
凝霜的枯藤
时间:
2014-3-22 11:16
小海 发表于 2014-3-21 16:13
恩恩,字节码是一个类吗?那字节码可以创建对象吗?在反射中得到的字节码主要都用于什么操作呢? ...
1.由于大部分的类(java.lang.String ,java.io.*等)格式都是相同的,例如都有类名,有成员变量和成员方法.所以类编译出的字节码的信息格式都有类似之处.. 这时候就需要描述类结构的类(Class),类Class就相当于数据类型。就是面向对象思想.Java里一切都是对象。。我们把人作比较吧.
Person{ Class{
属性, Field,
构造器 Constructor
方法. Method,
} }
2.通过一个类的字节码文件当然可以创建对象.有了字节码,我们就可以获取Class对象(三种方式),然后可以生成这个类的实例, 调用这个类的方法.
3.字节码就是(描述一个类以某种信息格式),可以拿个对象描述这个类的Class .
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2