1.反射
1.1java文件和.class文件的关系
Java文件
Java文件中包含代码的所有内容,类,接口,成员变量,成员方法....
.class字节码问题
.java文件 通过 javac编译工具生成对应的.class字节码文件
使用JDK中提供的反编译工具,可以看到.class文件中包含
Class 完整的包名.类名
Field 成员变量,成员变量的名字和成员变量的数据类型[如果是引用数据类型,也是
完整的包名.类名]
Method 成员方法,方法权限修饰符,返回值类型,方法名,形式参数列表数据类型
总结:
.class字节码文件中,包含了Java文件的所有内容
1.2 程序加载过程和.class文件的关系
在Java文件运行过程中,当前程序需要哪一个类参与代码执行,那么就需要加载这个类的.class字节码文件,该.class字节码文件时在程序的加载阶段,存在于内存的【代码区】
.class字节码文件既然加载到内存的【代码区】
.class文件中包含对应Java程序的所有内容
代码区存在一块空间 ==> .class ==> Java程序的所有内容
1.3java中的万物皆对象
在Java代码中,把在内存代码区保存的.class字节码内存空间,看做是一个对象。而该对象中包含了对应Java文件的所有内容。
class文本保存在内存的代码区

1.4什么叫Class
class Person {
int age;
String name;
public Person() {}
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public void test() {
sout("方法");
}
}
class Dog {
String name;
char gender;
public Dog() {}
public Dog(String name, char gender) {
this.name = name;
this.gender = gender;
}
public void eat() {
sout("狗狗吃肉");
}
}
Class引出图片

2910

被折叠的 条评论
为什么被折叠?



