Java 局部变量、实例变量、类变量(静态变量)区别
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