在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:
格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。
以下列出了一些变量的声明实例。注意有些包含了初始化过程。
Java语言支持的变量类型有:
在以下实例中age是一个局部变量。定义在pupAge()方法中,它的作用域就限制在这个方法中。
以上实例编译运行结果如下:
小狗的年龄是: 7
在下面的例子中 age 变量没有初始化,所以在编译时会出错:
以上实例编译运行结果如下:
以上实例编译运行结果如下:
实例:
以上实例编译运行结果如下:
开发人员平均工资:10000.0
注意:如果其他类想要访问该变量,可以这样访问:Employee.DEPARTMENT。
本章节中我们学习了Java的变量类型,下一章节中我们将介绍Java修饰符的使用。
扩展
在程序运行时的区别:
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
例如,对于下面的程序,无论创建多少个实例对象, 永远都只分配了一个 staticInt 变量,并且每创建一个实例对象,这个 staticInt 就会加 1;但是,每创建一个实例对象,就会分配一个 random, 即可能分配多个 random ,并且每个 random 的值都只自加了1次。
执行以上程序,输出结果为:
静态变量是用来声明规则的,一旦固定都是用用来引用的,类似社会中的法律,规定好后你只能拿来说。但是也可以改的,通过重新的声明法律就行。
java 实例变量在整个类内部是可访问的,而不管实例变量声明在类的哪个位置。
比如在上面代码中,尽管实例变量声明在类的尾部,在之前方法中仍可访问。
无final修饰,声明时赋值,构造器中赋值,静态语句块或静态方法赋值
有final修饰,声明时赋值,声明与赋值分开可在静态语句块中赋值
类变量与实例变量的区别
类变量可在类中直接使用,实例变量需实例化后才能使用。
成员变量、局部变量、静态变量的区别
成员变量 | 局部变量 | 静态变量 | |
---|---|---|---|
定义位置 | 在类中,方法外 | 方法中,或者方法的形式参数 | 在类中,方法外 |
初始化值 | 有默认初始化值 | 无,先定义,赋值后才能使用 | 有默认初始化值 |
调用方式 | 对象调用 | --- | 对象调用,类名调用 |
存储位置 | 堆中 | 栈中 | 方法区 |
生命周期 | 与对象共存亡 | 与方法共存亡 | 与类共存亡 |
别名 | 实例变量 | --- | 类变量 |
类的静态数据成员值被所有对象共享,任何对象都可以访问类的静态数据成员。但是他们使用的是同一个数据,操作的是同一块内存,无论哪个对象修改了它,对其他对象来说,他已经变了。
解释:private static final double PI = 3.14;
子类不可用(与类继承关系) + 非静态方法不可用(与方法的关系)+ 常量(与变量的关系) + 类型(与其他类型的关系)