1.在开始的时候是现在方法区把包含主函数的类加载进去 2.因为主函数是 static 类型的所以不需要创建对象就可以调用主函数
3.在main 中 Student s =new Student(); 时会在方法区加载进去Student 其中的方法也被加载进去了
4.在main中有了一个Student的类型s 并在堆内存中开辟了一个区域 把该内存的地址值给了s
同时堆内存中的对应位置有了学生类的成员变量了这个时候因为没有给成员变量赋值所以
name 中是null age 默认的是0 这个堆内存中是有学生类 对应方法区的地址值得
5,如果我们想要调用学生类的方法是我们先通过s 变量找到在堆内存中的地址值 因为 在堆内存中有了
方法区的地址值就会执行方法实现对应的功能
6,如果在使用new关键字的话是在堆内存中重新定义了一个区域和现在的没有什么关系了
7.如果 s 3=s 只是把地址值给了S3但是没有重新定义一个区域所以对s3的操作对s有相同的影响.
|
|