PoeticalJustice

导航

程序内存分析1

先建一个Student类

 1 public class Student {
 2     //属性:静态的数据 
 3     String name;
 4     int id;
 5     int age;
 6     String gender;
 7     int weight;
 8     
 9     Computer computer;
10     
11     //方法:动态的行为
12     public void study(){
13         System.out.println(name+"在学习");
14     }
15     public void sayHello(String sname){
16         System.out.println(name+""+sname+"说: 你好");
17     }
18 }

写一个main方法

 1 public class Test01 {
 2     //main方法是入口
 3     public static void main(String[] args) {
 4         //JVM通过类加载器Class Loader加载Student类 (当然jvm加载的是 .class文件)
 5          //然后在堆 里面 方法区就有了一个    Student 类的信息  
 6         //1.类代码   a,属性 b,方法
 7         //2 static变量
 8         //3 常量池(字符串常量"小王""小刘"小韩""在学习"等)
 9         
10         //s1是局部变量 (main这个方法里面的变量)在栈内存中
11         //new 出来的对象 在堆内存里   调用方法区的 属性和方法
12         //=  将new出来的对象的地址 给s1
13         
14         Student s1=new Student();
15         
16         //调用方法区的 属性和方法
17         s1.name="小王";
18         s1.study();
19         s1.sayHello("小刘");
20         
21         Student s2=new Student();
22         s2.name="小韩";
23         s2.age=18;
24         s2.sayHello("小刘");    
25     }
26 }

控制台打印

小王在学习
小王对小刘说: 你好
小韩对小刘说: 你好

画图

 

 

地址瞎写的,就那么个意思。

posted on 2017-09-29 15:53  PoeticalJustice  阅读(122)  评论(0编辑  收藏  举报