Java se - 局部变量,实例变量,类变量
2017-07-17 本文已影响0人
Lanjerry
定义
局部变量:被声明在方法中,它们是暂时的,且生命周期只限于方法被放在栈上的这段期间。
实例变量:被声明在类中而不是方法中,它们代表每个独立对象的字段,存在于所属的对象中(即存在堆上)。
类变量:也被称之为静态变量,和实例变量有点像,也都是被生命在类中而不是方法中,同样存在堆上。不过它必须用static关键字声明。
实例变量和类变量的不同点
实例变量 | 类变量 |
---|---|
当一个对象被实例化之后,每个实例变量的值就跟着确定 | 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝 |
在对象创建的时候创建,在对象被销毁的时候销毁 | 在程序开始时创建,在程序结束时销毁 |
ObejectReference.VariableName访问 | ClassName.VariableName访问 |
Demo
package com.lanjerry;
public class Demo0717 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
People p1=new People("小明",18,100);
System.out.println("p1's weight is:"+p1.weight);
People p2=new People("小明",18,200);
System.out.println("p1's weight is:"+p1.weight);
System.out.println("p2's weight is:"+p2.weight);
System.out.println("People's weight is:"+p2.weight);
}
}
class People{
String name;
int age;
static int weight;
People(String name,int age,int weight)
{
this.name=name;
this.age=age;
this.weight=weight;
}
}
Result
p1's weight is:100
p1's weight is:200
p2's weight is:200
People's weight is:200