java程序都是由不同的类(class)组成:类成员包括域和方法。
域:
域属于类(class variable)还是类对象(instance variable),由是否static修饰决定。
类可以实例化为不同的对象,每个对象相互独立。同一个类的方法在内存中只保存一份,而类对象变量各自保存。类的静态域(也就是static修饰的域),只保存一份,可以通过类名访问,也可以通过类对象访问。
方法:
方法同域一样,是类的成员,它们属于同一个层次的符号。不同之处在于一个是表示状态,一个是修改状态的操作。static修饰的方法是类方法,可以通过类名调用。而没有static修饰的方法则必须通过实例化的对象访问。(为什么要这样设计?)方法的运算结果必须保存在域中,因为局部变量在方法运行结束后销毁,无法保存值。
局部变量:
局部变量在代码块内声明,和域不同,域是类的成员。