思考:为什么局部变量需要显示赋值而成员变量不需要
成员变量其赋值和取值的顺序具有不确定性,可以在方法调用前赋值,也可以在方法调用后赋值,其具体顺序是在运行时发生的,编译器确定不了;
而局部变量,赋值、取值顺序确定。所以局部变量赋值使用,是一种设计约束,可以减少犯错的可能性。同时局部变量存放到栈帧的局部变量表中,可控的赋值和销毁有利于局部变量表空间复用;
https://www.cnblogs.com/lsgspace/
原创作品欢迎转载,转载请注明出处
成员变量其赋值和取值的顺序具有不确定性,可以在方法调用前赋值,也可以在方法调用后赋值,其具体顺序是在运行时发生的,编译器确定不了;
而局部变量,赋值、取值顺序确定。所以局部变量赋值使用,是一种设计约束,可以减少犯错的可能性。同时局部变量存放到栈帧的局部变量表中,可控的赋值和销毁有利于局部变量表空间复用;