Java Static-读Thinking in java

来源:互联网 发布:投资最重要的事 知乎 编辑:程序博客网 时间:2024/05/21 15:42

一种情形是只想用一个存储区域来保存一个特定的数据,无论要创建多少个对象,甚至根本不创建对象。

另一种情 形是我们需要一个特殊的方法,它没有与这个类的任何对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。

为满足这两方面的要求,可使用static (静态)关键字。

声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。

static的限制:

◆它们仅能调用其他的static 方法。       

◆它们只能访问static数据。

◆它们不能以任何方式引用this 或super

如下例子:

package thinkinginjava.exercise.chapter.one;public class StaticTest {static int i = 47;}


package thinkinginjava.exercise.chapter.one;public class Incrementable {/** * 类入口 * @param args */public static void main(String[] args) {Incrementable.increment();//调用静态方法StaticTest st1 = new StaticTest();StaticTest st2 = new StaticTest();System.out.println(StaticTest.i);//输出静态值System.out.println(st1.i);System.out.println(st2.i);}/** * 静态函数 * 递增StaticTest类中的静态变量i */static void increment(){StaticTest.i++;}}

该方法三句输出值,全部输出为:48。


原创粉丝点击