詩あ遠方

Menu

数据区、代码区、栈区、堆区

概念

内存分析

// Person类
class Person {
    int id ;
    int age =  20 ;
    Person(int _id, int _age){
        id = _id ;
        age = _age ;
    }
}

接下来对new一个对象进行分析

执行语句: Person tom = new Person(1,25) ;

第一步:

我们知道每一个类都有一个默认的构造函数,即Person(),因此上述会先调用默认的构造函数

第二步:

执行构造函数New Person(1,25)时,我们知道调用的是Person(int _id, int _age),所以此时栈空间会分配方法的参数的临时变量如下

第三步:

执行构造函数 Person(int _id, int _age),id = _id; age = _age;此时栈中的临时变量会改变默认构造函数创建的对象,赋值完后,栈中的临时变量会自动的销毁,然后创建的临时变量Tom会自动的指向创建的对象。

— 于 共写了683个字
— 文内使用到的标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注