Unity3D:堆栈

代码示例

using System;

namespace Arithmetic
{
    class Program
    {
        static void Main(string[] args)
        {
            Test();
            Console.Read();
        }
        private static void Test()
        {
            Model model = new Model()
            {
                Name = "小明",
                Age = 11,
            };
        }
    }
    public class Model
    {
        public string Name;
        public int Age;
    }
}

类实例化以后,对象在堆上,因此对象的一切成员变量也在堆上。

//new Model()实例化在堆上
Model model = new Model()
{
		//成员变量也在堆上
     Name = "小明",
     Age = 11,
};

对对象的引用,它作为一个局部变量,作用域在方法体内,这个东西是在栈上的。

//model这个变量的引用是在栈上
//当方法结束以后,引用就失效了
Model model = new Model()
{
		//成员变量也在堆上
     Name = "小明",
     Age = 11,
};

你可能感兴趣的:(Unity3D:初级教程,java,开发语言)