
目录

一.局部变量
局部变量是定义在 方法中或是方法的形参变量 !局部变量只能在它所在的作用域内发挥作用,在 域内直接使用 !出了作用域就不能再使用了!所有的局部变量都存储在JVM中的 栈内存 中!
public class Test { //类体中
public static void main(String[] args) { //方法体中
String name="我是局部变量!"; //这个name是main域中局部变量
System.out.println(name);
}
//定义一个方法
public static void game(String n){ //n是game域中的局部变量
System.out.println(n+"是game方法中的局部变量");
}
}
局部变量在最开始定义时就 必须要赋值 ,赋值之后才能使用
否则会编译报错,并且运行报错未初始化变量!
局部变量是 属于方法 的,它随着方法的调用而产生,随着方法的调用完毕而消失!
想更加详细的了解方法执行内存图点击这里!
二.成员变量
实例变量也可叫做成员变量!成员变量定义在 类中方法之外 的变量.存储在jvm的 堆内存 中!
并且成员变量是不需要变量一定义就赋值的!它 有相对应的默认值 !最开始会初始化为默认值!
成员变量 属于对象 ,会随着对象的创建而产生,随着对象的消失而消失!一般 通过对象来调用!
public class Test { //类体中
String name; //这个name是成员变量
int age; //这个age是成员变量
public static void main(String[] args) { //方法体中
Test t=new Test(); //创建对象
t.name="张三"; //对象调用属性
t.age=19;
System.out.println(t.name);
System.out.println(t.age);
}
}
(这部分相关的内存图在这里有详细介绍! --------> 这里这里啦 )
三.静态变量
被static修饰 的变量都是静态变量!静态变量也可以叫做共享变量或类变量!其也跟成员变量一样 有 默认值 ,不需要一开始定义就赋值.
public class Test { //类体中
static String name; //这个name是静态变量
static int age; //这个age是静态变量
public static void main(String[] args) { //方法体中
Test.name="李四";
Test.age=20; //类名来调用
Test t=new Test();
System.out.println(t.name);
}
}
静态变量在jdk1.8版本之前,是存储在方法区的.1.8版本之后(包含1.8)是存储在 堆内存 中的!
静态变量是 属于类 的,会随着类的产生而产生,随着类的消失而消失!其变量也是 通过类来调用 的!(也可以用对象来调用,但是不推荐的哈!)
四.总结成员变量与局部变量和静态变量的区别
变量类别 | 局部变量 | 成员变量 | 静态变量 | |
定义形式 | 方法中/形参 | 类中方法外 | static修饰 | |
存储位置 | 栈内存 | 堆内存 | 堆内存 | |
默认值 | 无默认值 | 有默认值 | 有默认值 | |
属于谁 | 属于方法 | 属于对象 | 属于类 | |
谁来调用 | 域内直接使用 | 对象调用 | 类调用 |
好啦!这次小编的分享就此而止啦!!!
(小编也在努力学习更多哟!以后会多多分享哒!)
希望对友友们有所帮助!!!!