欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-04 08:53:22
成员变量 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