s1mplesama

导航

一、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编辑  收藏  举报