Java 局部变量、实例变量、类变量(静态变量)区别

时间:2021-09-09 09:01:26

1. 局部变量:

局部变量是类的方法中的变量;

2. 实例变量:

实例变量也是类中独立于方法之外的变量,不过没有static修饰,也叫 对象变量

3. 类变量(静态变量):

类变量是类中独立于方法之外的变量,用static 修饰,也叫 静态变量

4. 伪代码说明

public class Variable{
static int allClicks=0;//类变量
String str="hello world";//实例变量
public void method(){
int i =0;//局部变量
}
}

5. 实例变量与类变量区别

区别在于:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;

demo说明:

public class A{
static int a = 0; //类变量
private int b = 0; //实例变量
} public class B{
public void main (String[] args){
A a1 = new A();
A a2 = new A();
a1.a = 3; // 等同于 A.a = 3;
a1.b = 4 ;
System.out.println(a2.a); //结果为3
//类变量是针对所有对象的,所以a1改变a,a2的a也改变
System.out.println(a2.b); //结果为0
//实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量
}
}

  变量的有效范围
成员变量:在类中声明,在整个类中有效    {
           静态变量      使用static关键字修饰     public static int age=100;    可以使用类的实例对象访问   也可以直接使用类名进行访问
           实例变量      只能通过实例对象访问
    
    
    }
 局部变量:在方法内或方法内的某代码块(方法内部,"{"与"}")中声明的变量
在方法内某代码块中声明的局部变量,只能在当前的代码块中有效
在代码块外 方法内声明的局部变量,在整个方法内都有效
       
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16