Java基础(成员变量VS局部变量)

成员变量 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);//输出成员变量的值
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值