成员变量
一.定义
- 局部变量包括三类,包括在方法签名中定义的形参,在方法内的局部变量以及在代码块内的局部变量。
- 类体以内定义的变量称为成员变量。
- 如果定义成员变量时用static修饰,则该变量为静态变量或类变量。
- 如果定义成员变量未用static修饰,则该变量为非静态变量或实例变量
二.类变量与实例变量的赋值与引用
类只能引用类变量,不能引用实例变量,如图,报错提示nameString为实例变量,类变量无法引用,需创建People类的成员变量,即类变量
执行完第一行代码以后,程序在堆内存中为类对象分配内存,再次创建people对象p1时,只为实例变量分配内存,通过赋值来改变类变量的值,当people类的eyeNum变量被改变为4后,最后输出的结果都是4,如下图:
这是因为对象p1对eyeNum内存块进行了赋值,在底层仍都将转化为通过People类来访问eyeNum变量。