到现在为止,已经总结了Java类的组成,主要有三部分:数据成员,方法成员,构造方法。其中构造方法已经在以前博文中详细介绍过。在这篇博文中,将Java类中与数据相关的内容进行总结。
按照数据声明的位置,可以分为两类,声明位置的不同,作用域就有所不同。
1. 数据成员:在类体中声明的数据,称为数据成员。
2. 局部变量:在方法中声明的数据,称为局部变量,也称为本地变量,方法变量,自动变量。局部变量只能在该方法中使用。
如下例所示:
package com.csst.test;
public class TestData {
/**
* @param args
*/
//1.数据成员
private int x;
private int y;
public void test(int y){
//2.局部变量
intz;
this.y=y;
System.out.println(x);//输出0
System.out.println(z);//编译错误
}
}
接下来,对数据成员以及局部变量的区别进行总结。
1. 访问权限修饰符:访问权限修饰符可以修饰数据成员,但是不能修饰局部变量。
2. static修饰符:static修饰符可以修饰数据成员,但是不能修饰局部变量。
3. 数据类型:数据成员和局部变量都可以使用任何数据类型。
4. 初值:数据成员可以不赋初值,有默认值,如整型默认为0,浮点型默认为0.0,字符型默认为/u0000,布尔型默认为false,所有引用类型默认为false。而局部变量使用前一定赋初值,否则会有编译错误。
5. 作用域:数据成员可以在整个类中使用,只要权限允许,也可以在其他类中通过对象或者类名(static成员)调用。而局部变量只能在当前方法中使用。
6. 生命周期:数据成员都随着类的加载(static)或者对象的创建(非static)而被初始化,随着对象的销毁或者类的销毁而销毁。而局部变量都是在调用该方法时临时被初始化,而方法运行结束即刻被回收。
7. 如果遇到方法参数恰好与数据成员同名的情况,使用this来区别,this表示当前的引用,点取的就是数据成员。
初学者只要了解以上几点,相信再看Java类的各种数据,就会清楚得多了。