Java基础(成员变量VS局部变量)
程序员文章站
2022-10-04 10:06:56
成员变量 VS 局部变量:在同一个范围内不能声明相同的变量名.1:声明的地方不同:成员变量:直接声明在类中,方法外面的变量叫成员变量.局部变量:声明在方法里面的变量叫局部变量.2:在内存中位置不同:成员变量:存放在内存的堆中.局部变量:存放在内存的栈中.3:作用范围不同:成员变量作用范围由访问修饰符决定.局部变量只在声明他的大括号中使用.4:生成周期不同:成员变量的生命周期随着对象的创建而产生,随着对象的销毁而结束.局部变量的生命周期随着局部变量的声明语句执行而产生,随着局部变量声明...
成员变量 VS 局部变量:在同一个范围内不能声明相同的变量名.
1:声明的地方不同:
成员变量:直接声明在类中,方法外面的变量叫成员变量.
局部变量:声明在方法里面的变量叫局部变量.
2:在内存中位置不同:
成员变量:存放在内存的堆中.
局部变量:存放在内存的栈中.
3:作用范围不同:
成员变量作用范围由访问修饰符决定.
局部变量只在声明他的大括号中使用.
4:生成周期不同:
成员变量的生命周期随着对象的创建而产生,随着对象的销毁而结束.
局部变量的生命周期随着局部变量的声明语句执行而产生,随着局部变量声明的大括号 执行完而结束.
5:访问修饰符不同:
成员变量一定有访问修饰符.
局部变量不能用访问修饰符.
6:默认值不同:
成员变量不赋初值,系统会给它分配默认初值,可以直接使用.
局部变量不赋初值,没有初值,不能使用.
7:优先级不同:
当同一个类中,成员变量和局部变量同名,局部变量优先级更高.
public class Student {
/**
* 成员变量
*/
public String sname="aa";
/**
* 成员变量
*/
public int[] nums=new int[2];
/**
* 成员变量
*/
public Teacher t1;
public void show1() {
//局部变量
String school;
String sname="bb";
//当同一个类中,成员变量和局部变量同名,局部变量优先级更高
System.out.println(sname);//输出局部变量的值
System.out.println(this.sname);//输出成员变量的值
}
}
本文地址:https://blog.csdn.net/weixin_46024823/article/details/107363771
上一篇: 网站设计中搜索框的设计
下一篇: 诸葛瞻死前说了什么让刘禅无地自容!