正常来说,常量都会写成静态的。比如你的一个类实例化了好几次,你想要计算知道实例化的个数
你就用写一个静态方法,用类来直接调用静态方法就可以显示出你所实例的个数。而不需要实例化再进行计算。我下面写的这个简单的例子,如果你用count()方法,你所得到的意义就会不对;
public class Test
{
public static int count = 0;
//构造函数
public Test()
{
//每次实例化一次就count++
count++;
}
//非静态方法,用对象去调用
public int count()
{
return count;
}
//返回实例化的个数
public static int countInstanceMethod()
{
return count;
}
public static void main(String[] args)
{
Test() test1 = new Test();
Test() test2 = new Test();
Test() test3 = new Test();
/*如果你用对象调用count,你会发现这个语句不容易理解
3个对象的个数都相同,这个阅读起来难以理解
*/
System.out.println(test1.count());
System.out.println(test2.count());
System.out.println(test3.count());
/*而用了Test.countInstanceMethod()方法很容易理解是Test类中创建的实例个数
*/
System.out.println(Test.countInstanceMethod());
}
}