java 13.静态类成员

静态类成员

静态类成员方法和变量都可以据有静态属性,声明静态成员使用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不能引用任何其他非静态变量。
posted @ 2019-06-01 17:56  HL()  阅读(796)  评论(0编辑  收藏  举报