到现在为止,已经总结了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类的各种数据,就会清楚得多了。