成员变量与局部变量

简介: 成员变量与局部变量

变量: 数据类型 变量名 = 值

成员变量

直接定义在类中,方法的外面,也称全局变量或字段,不要叫属性

1.类成员变量: 使用 static 修饰的字段

2.实例成员变量: 没有使用 static 修饰的字段

3.在方法不能定义 static 变量,static 属于类

方法属于对象。

局部变量

变量除了成员变量,其他都是局部变量

  1. 方法内部的变量
  2. 方法的参数
  3. 代码块中的变量

成员变量与局部变量区别

变量的初始值

  • 成员变量: 默认是有初始值的
  • 局部变量: 没有初始值,所以必须先初始化才能使用

变量的使用域

  • 成员变量:在整个类中都有效
  • 局部变量:只在它定义的大括号内生效

成员变量,可以先使用后定义,局部变量必须先定义而后才能使用。

作用域及生命周期

  • 变量的生命周期指的是一个变量被创建并分配内存空间开始,到该变量被销毁并清除其所占内存空间的过程,作用域不同,生命周期就不一样

变量使用注意点

1.局部变量定义后,必须显示初始化后才能使用,因为系统不会为局部变量执行初始化操作。这就意味着,定义局部变量后,系统并未为这个变量分配内存空间。直到程序为这个变量赋值时,系统才会为局部变量分配内存,并将初始值保存到该内存中。

2.局部变量不属于任何类或实例,因此它总是保存在其所在方法的栈内存中。

3.基本数据局部变量:直接把这个变量的值保存到该变量所对应 的内存中。引用数据局部变量:这个变量内存中存的是地址,通过该地址引用到该变量实际引用堆里的的对象。

4.栈内存中的变量无需系统垃圾回收,其往往随方法或代码块的运行结束而结束。

public class Person {
  static int totalNums;
  String name;
  int age;
  int times;
  void eat(String food) {
      int a = 10;
    if(times >= 3) {
      System.out.println("不能再吃了");
    }else {
      System.out.println("吃了"+ food);
      times++;
    }
  }
  Person(String n,int a){
    name = n;
    age = a;
    Person.totalNums++;
  }
  public static void main(String[] args) {
    Person per = new Person("zs",18);
    System.out.println(Person.totalNums);   
    per.eat("米饭");
  }
}
相关文章
|
8天前
局部变量和成员变量
局部变量和成员变量 1.定义的位置不一样【重点】 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样【重点】 局部变量:只有方法当中才可以使用,出了方法就不能再用 成员变量:整个类全都可以通用。 3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 1.定义的位置不一样【重点】 局部变量:在方法的内部
12 1
|
10月前
|
Java 应用服务中间件 Maven
IDEA中使用Maven
IDEA中使用Maven
103 0
|
10月前
|
Java Maven 数据安全/隐私保护
Maven私服
Maven私服
328 0
|
10月前
|
Java 关系型数据库 MySQL
Maven依赖管理
Maven依赖管理
182 0
|
10月前
|
SQL 监控 关系型数据库
MySQL-慢查询日志分析
MySQL-慢查询日志分析
252 0
|
10月前
|
Oracle Java 关系型数据库
Maven配置
Maven配置
174 0
|
10月前
内部类
内部类
39 0
|
10月前
枚举
枚举
48 0
|
10月前
|
缓存
包装类
包装类
43 0
|
10月前
|
Java
Math类
Math类
43 0