您的位置:寻梦网首页编程乐园Java天地Core JavaJAVA程序员必读
JAVA程序员必读:基础篇(2)面向对象编程概念
    
编译:ZSC/太平洋网络学院

2.4实例和类成员

2.4.1理解实例和类成员

对于AnIntegerNamedX外部的对象如果想访问x,它必须通过特定的AnIntegerNamedX的实例来实现。假如这个代码片段处在其它对象的方法中。它创建了两种不同类型的AnIntegerNamedX,它设置了x为不同的数值,然后显示它们:

AnIntegerNamedX myX = new AnIntegerNamedX();

AnIntegerNamedX anotherX = new AnIntegerNamedX();

myX.setX(1);

anotherX.x = 2;

System.out.println("myX.x = " + myX.x());

System.out.println("anotherX.x = " + anotherX.x());

这里注意,代码使用setX来为myX设置x的值,而直接给anotherX.x指定一个数值。不管用什么方法,代码是在操作两个不同的x副本:一个包含在myX对象中一,另外一个包含在anotherX对象中。其输出是用以下代码片段来实现的:

myX.x = 1

anotherX.x = 2

上面代码显示了类AnIntegerNamedX的每一个实例有自己实例变量x的副本以及每个x有自己的数值。

你可以在声明成员变量的时候,指定变量是一个类变量而不是一个实例变量。相似地,你可以指定方法是一个类方法而不是一个实例方法。系统在第一次调用类来定义变量的时候创建了一个类变量的副本。所有的类实例共享了类变量的相同副本。类方法可以只操作类变量,它们不能访问定义在类中的实例变量。

[上一页] [下一页]