静态类成员
静态类成员方法和变量都可以据有静态属性,声明静态成员使用static修饰符。
类设计中的一个关键循环,就是决定是否将一个方法或变量声明为静态的。
静态变量
在程序中任何变量或者代码都是在编译时,由系统自动分配内存来存储的,而所谓静态就是指在编译后分配的内存会一直存在,直到程序推出时才会释放内存空间。
在java程序里,所有东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员(成员指类中的函数、变量)
静态方法
静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。
静态方法可以通过类的名称来调用,因此调用静态方法是不必实例化。
1 public class SloganCounter
2 {
3 //创建几个Slogan对象并打印创建的对象的数量。
4 public static void main(String[] args)
5 { //创建自定义标语对象
6 Slogan obj;
7 //创建对象并赋值给obj,并打印对象里的字符串
8 obj = new Slogan("Remember the Alamo.");
9 System.out.println(obj);
10
11 obj = new Slogan("Don't Worry. Be Happy.");
12 System.out.println(obj);
13
14 obj = new Slogan("Live Free or Die.");
15 System.out.println(obj);
16
17 obj = new Slogan("Talk is Cheap.");
18 System.out.println(obj);
19
20 obj = new Slogan("Write Once, Run Anywhere.");
21 System.out.println(obj);
22
23 System.out.println();
24 //getCount()得到序列个数
25 //输出对象里标语的个数
26 System.out.println("Slogans created: " + Slogan.getCount());
27 }
28 }
1 public class Slogan
2 {
3 private String phrase;
4 private static int count = 0;
5
6 //-----------------------------------------------------------------
7 // 构造函数:设置标语并计算数量实例创建。
8 //-----------------------------------------------------------------
9 public Slogan(String str)
10
11 phrase = str;
12 count++;
13 }
14
15 //-----------------------------------------------------------------
16 // 将此口号作为字符串返回。
17 //-----------------------------------------------------------------
18 public String toString()
19 {
20 return phrase;
21 }
22
23 //-----------------------------------------------------------------
24 // 返回此类的实例数创建
25 //-----------------------------------------------------------------
26 public static int getCount()
27 {
28 return count;
29 }
30 }
Slogan类的getCount方法也声明为静态类的,允许在main方法中通过类名调用该方法。
在getCount方法中被应用的唯一数据是整形静态变量count。作为静态方法,getCount不能引用任何其他非静态变量。