美文网首页
Java se - 局部变量,实例变量,类变量

Java se - 局部变量,实例变量,类变量

作者: Lanjerry | 来源:发表于2017-07-17 16:39 被阅读0次

    定义

    局部变量:被声明在方法中,它们是暂时的,且生命周期只限于方法被放在栈上的这段期间。
    实例变量:被声明在类中而不是方法中,它们代表每个独立对象的字段,存在于所属的对象中(即存在堆上)。
    类变量:也被称之为静态变量,和实例变量有点像,也都是被生命在类中而不是方法中,同样存在堆上。不过它必须用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

    相关文章

      网友评论

          本文标题:Java se - 局部变量,实例变量,类变量

          本文链接:https://www.haomeiwen.com/subject/qzxqkxtx.html