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

上一篇下一篇

猜你喜欢

热点阅读