一、JAVA变量类型:①类变量与实例变量的异同点
在JAVA中,变量使用前必须声明,格式如下:
int a; //单个变量声明 int b, c, d; //多个变量一起声明 int e = 1, f = 2, g = 3; //声明时同时赋值(初始化)
JAVA的变量类型:1. 类变量(静态变量) & 2. 实例变量
都在类中函数外语句块外声明,但是类变量需要static修饰,实例变量没有
1 private static double salary; //声明私有静态变量salary,类型为双精度浮点 2 public static final String DEPARTMENT = "开发人员"; //声明公有静态变量DEPARTMENT,类型为String,final表示不可修改
3 public String name; //声明公有实例变量name,类型为String 4 private double salary; //声明私有实例变量salary,类型为double
无论生成了多少个实例,类变量只有一个,但是实例变量在每次实例化时都会生成一个;
例如:若定义了如下的类
1 public class StaticTest { 2 private static int staticInt = 2; 3 private int random = 2; 4 5 public StaticTest() { 6 staticInt++; 7 random++; 8 System.out.println("staticInt = "+staticInt+" random = "+random); 9 } 10 11 public static void main(String[] args) { 12 StaticTest test = new StaticTest(); 13 StaticTest test2 = new StaticTest(); 14 } 15 }
则在每次生成一个新的StaticTest实例时,staticInt都会+1,因为类变量只有一个,每次调用的staticInt都为那一个;但是每次实例化一个新的对象时, 都会生成一个新的random,random的值为3(初始化为2,自动调用构造函数+1)。
类变量主要用于声明常量,常量(声明为public/private,final和static,不可变),储存在静态存储区,很少单独用static声明为变量,声明为常量时用全大写字母命名
public static final String DEPARTMENT = "开发人员"; //声明静态变量DEPARTMENT,final表示为常量
静态变量第一次被访问时创建,程序结束时销毁;实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
为了对类的使用者可见,大多数静态变量声明为public类型,大多数实例变量设为private,仅用于类中方法、构造方法或者语句块引用;
如果声明后没有初始化,则数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null,char默认值为\u0000。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化;
静态变量访问方式:ClassName.VariableName;实例变量访问方式:用完全限定名ObejectReference.VariableName;
实例变量可以声明在使用后
借鉴自菜鸟教程 http://www.runoob.com/java/java-variable-types.html
posted on 2018-10-28 18:34 s1mplesama 阅读(714) 评论(0) 编辑 收藏 举报