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

定义

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,419评论 11 349
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,158评论 0 62
  • 1、.java源文件: 一个以”.java“为后缀的源文件:只能有一个与文件名相同的类,可以包含其他类。 2、类方...
    Hughman阅读 1,566评论 1 9
  • 文/yoyo姐 哈佛大学儿童心理学教授保罗.哈里斯的研究表明:一个孩子在2-5岁之前会问出4万个问题。3岁是一个过...
    yoyo姐阅读 445评论 0 1