java堆栈笔记

public class Square {  

    long width;  

    public Square(long l) {   

        width = l;  

    }  

    public static void main(String arg[]) {   

        Square a, b, c;  

        a = new Square(42L);   

        b = new Square(42L);   

        c = b;   

        long s = 42L;  

    } 

}

//声明了3个Square类型的变量a, b, c

//在stack中分配3个内存,名字为a, b, c

Square a, b, c; 

//在heap中分配了一块新内存,里边包含自己的成员变量width值为48L,然后stack中的a指向这块内存

a = new Square(42L);

//在heap中分配了一块新内存,其中包含自己的成员变量width值为48L,然后stack中的b指向这块内存

b = new Square(42L);   

//stack中的c也指向b所指向的内存

c = b;

//在stack中分配了一块内存,值为42

long s = 42L; 

猜你喜欢

转载自blog.csdn.net/ChengquanLam/article/details/82979942