Java变量类型
Java变量类型
- 局部变量声明在方法、构造方法或者语句块中;
- 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
- 访问修饰符(
public ,protect,default,private
)不能用于修饰局部变量; - 局部变量只在声明它的方法、构造方法或者语句块中可见;
- 局部变量是在栈上分配的。
- 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
public class LocalVariable{
public static void main(String[] args){
int age = 18;
String name = "琼宝宝";
String time = "永远";
System.out.println(name+time+age+"岁!");
}
}
//该例子中的age,name, time 都是局部变量
-
实例变量(成员变量member variable)
0.实例变量不能用static修饰!!!
1.实例变量声明在一个类中,但在方法、构造方法和语句块之外.
2.当一个对象被实例化之后,每个实例变量的值就跟着确定.
3.实例变量在对象创建的时候创建,在对象被销毁的时候销毁.
4.实例变量的值应该至少被一个方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息.
5.实例变量可以在使用的时候再动态赋值.
6.访问修饰符(
public ,protect,default,private
)可以修饰实例变量;7.实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用 访问修饰符可以使实例变量对子类可见;
8.实例变量具有默认值,数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是 null。
public class MemberVariable{ int age; //成员变量会被自动初始化,不需要定义的时候赋值 String name; //不能用static来修饰 String time; public static void main(String[] args){ MemberVariable baby = new MemberVariable(); baby.age = 18; baby.name = '琼宝宝'; baby.time = '永远'; System.out.println(baby.name+baby.time+baby.age+"岁!!"); } }
-
静态变量(static variable 又叫类变量)
0.静态变量在类被加载的时候,一起加载带静态内存中。
1.静态变量在类中以 static 关键字声明,但必须在方法之外。
2.静态变量可以被所有的实例对象共享。
3.静态变量除了被声明为常量外很少使用。
常量是指声明为public/private,final和static类型的变量
。5.静态变量在第一次被访问时创建,在程序结束时销毁,其生命周期和类相同。
public class StaticVariable{ static String name; static String job; public void study(){ name = "琼宝宝"; job = "好孩子"; System.out.println(name+"是一个爱学习的"+job); } public static void main(String[] args){ StaticVariable baby = new StaticVariable(); baby.study(); } }
总结
.局部变量作用范围最小,生命周期最短。
.成员变量和静态变量很类似,只是前者不能用static修饰,在创建对象的时候初始化。
.静态变量从属于类,随着类的加载被同时加载进入静态区,生命周期取决于类的生命周期,可以被所有实例共享.
人生无完美,曲折亦风景.