美文网首页
关于Java成员变量的一点小常识

关于Java成员变量的一点小常识

作者: 大虾很忙 | 来源:发表于2017-02-16 13:01 被阅读0次

Java语言中根据定义变量位置的不同,可以将变量分为两大类:成员变量和局部变量。两种变量运行机制存在较大差异,这里首先谈谈成员变量。

首先要认识到,成员变量指的是在类里面定义的变量,只要是一个合法的标识符即可。成员被分成两种:有static修饰的为类变量,没有static修饰的则为实例变量。

类变量比实例变量的生存周期要长,可以从该类的准备阶段起开始存在,直到系统完全销毁这个类。而实例变量则从该类的实例被创建起开始存在,直到系统完全销毁这个实例,类的实例肯定会比类的生存周期要短,所以类变量比实例变量的生存周期要长。

下面通过代码感受下两种变量的区别

public class Test {

public static void main(String[] args){

System.out.println("Person中类变量eyeNum初始化的值+"+Person.eyeNum);

//此时输出值为0(默认的)

Person p = new Person();

System.out.println("Person中实例变量name初始化的值+"+p.name);

//此时输出值为null(默认的)

//为两种变量直接赋值

Person.eyeNum=2;

p.name="库里";

System.out.println("Person中类变量eyeNum赋值后的值+"+Person.eyeNum);

System.out.println("Person中实例变量name赋值后的值+"+p.name);

//上面的输出值分别为2和库里

//通过person对象访问eyeNum的值

System.out.println("通过person对象访问eyeNum的值+"+p.eyeNum);

Person p2 = new Person();

System.out.println("新创建的实例能否访问上一个实例的值+"+p2.name);

//不能访问但编译能够通过,此时的值为null

System.out.println("新创建的实例能否访问上一个类变量的值+"+p2.eyeNum);

//此时输出值为2,证明了类变量存在着,上个实例变量已然销毁

}

}

class Person {

//创建一个类变量

public static int eyeNum;

//创建一个实例变量

public String name;

}

相关文章

  • 关于Java成员变量的一点小常识

    Java语言中根据定义变量位置的不同,可以将变量分为两大类:成员变量和局部变量。两种变量运行机制存在较大差异,这里...

  • 四、JNI-成员和方法

    成员 方法 #1. 成员 Java中成员变量分为普通成员变量和静态成员变量。普通成员变量也称为类实例成员变量,所有...

  • 属性-Property

    1 和Java的成员变量的区别 Java的成员变量在编译器就已经确定。OC在运行期,可以动态添加成员变量。 2 P...

  • java内存模型

    引用: Java内存模型 java内存模型线程栈:本地变量,堆:对象,对象成员变量,静态成员变量 如果两个线程同时...

  • 面向对象编程基础

    类与对象 成员变量 -在Java中对象的属性也称为成员变量,成员变量的定义与普通变量的定义一样 成员方法 1.成员...

  • iOS 对属性变量setter和getter方法的理解

    关于成员变量、实例变量、属性变量 成员变量 成员变量是用于类的内部,无需与外界接触的变量。成员变量默认是prote...

  • iOS 对属性变量setter和getter方法的理解

    关于成员变量、实例变量、属性变量 成员变量 成员变量是用于类的内部,无需与外界接触的变量。成员变量默认是prote...

  • iOS 对属性变量setter和getter方法的理解

    关于成员变量、实例变量、属性变量 成员变量 成员变量是用于类的内部,无需与外界接触的变量。成员变量默认是prote...

  • NDK-JNI访问Java变量和方法

    JNI访问Java成员变量 1.定义成员变量textStr 2.添加native方法accessField(): ...

  • 实例变量和类变量

    一、定义 1、成员变量:把类内、方法体外定义的变量称为成员变量。 Java中的成员变量分为两种: 一是没有stat...

网友评论

      本文标题:关于Java成员变量的一点小常识

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