练习8:编写一个程序,展示无论你创建了某个特定类的多少个对象,这个类中的某个特定的static域只有一个实例。
class StaticTest
{
static int i = 47;
}
public class Test
{
public static void main(String[] args) {
StaticTest s1 = new StaticTest();
StaticTest s2 = new StaticTest();
StaticTest s3 = new StaticTest();
System.out.println(s1.i);
s1.i=0;
System.out.println(s1.i);
System.out.println(s2.i);
System.out.println(s3.i);
System.out.println(StaticTest.i);
}
}
在特定类StaticTest中,定义有static域i,并赋值为47。在主函数中实例化了三个该类对象,使用其第一个对象s1访问i并为其重新赋值为0,再通过三个对象分别访问i,输出其值发现均为0,说明域i只有一个实例。并且可用类名.的方式直接访问。