变量主要有类变量、成员变量、局部变量三种。
变量主要有类变量、成员变量、局部变量三种。
类变量的的格式如下
class ClassA:
static int age;
也就是说,类变量是定义在类中(而不是方法中)并且有static 修饰的变量。
成员变量的格式如下:
class ClassB:
int age;
也就是说,成员变量是定义在类中,但是没有static 修饰的变量。
局部变量呢,则是定义在方法中的(注意:JAVA中不怎么用函数这种说法的)。比如最常见的。
class ClassC:
def main(int args):
int age;
关于内存的存放位置。
类变量,因为是静态的,所以是在方法区中的。你后面会学到。
成员变量,实际的值是存放在堆内存中的。
局部变量,一般是存放在栈内存中的。
注意:这只是针对基础数据类型的数据而言。
如果是引用数据类型的话,他们都是存在于栈内存中而指向他们各自所在的内存区域。
简单理解,就是无论他们在哪个内存区域中(堆、栈、方法区),都会在栈内存中留下一个入口。
内存:栈 1.存放局部变量 2.不可以被多个线程共享 3.空间连续,速度快
堆 1.存放对象 2.可以被多个线程共享 3.空间不连续,速度慢,但是灵活
方法区 1.存放类的信息:代码、静态变量、字符串常量等等 2.可以被多个线程共享 3.空间不连续,速度慢,