成员变量是在类内部定义的变量,在类的任何方法中都可以直接使用,其作用域为整个类。成员变量有默认值,如果没有给定初始值,数值类型默认为0,布尔类型默认为false,对象类型默认为null。
局部变量是在方法、代码块、循环等内部定义的变量,其作用域只限于当前代码块内。局部变量必须显式地定义类型并且必须初始化才能使用。
成员变量和局部变量的主要区别如下:
1、作用范围不同:成员变量作用于整个类,而局部变量作用于当前代码块。
2、生命周期不同:成员变量的生命周期与对象相同,当创建对象时会被初始化,直到对象被销毁时才会被销毁;而局部变量的生命周期在定义时开始,在代码块结束时结束。
3、初始值不同:成员变量有默认值,而局部变量必须显式地定义类型并且必须初始化才能使用。
4、权限不同:成员变量可以设定不同的权限修饰符,可以被其他对象的方法和代码块访问;而局部变量的访问权限只限于定义它的代码块内。
总的来说,成员变量更为全局,是类与对象的属性之一;而局部变量则更为局限,只在特定的代码块内部使用。