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

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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值