Static关键字

执行new来创建对象时, 数据存储空间才被分配, 其方法才供外界调用. 有两种情形用上述方法是无法解决的. 一种情形是, 只想为某特定域分配单一存储空间, 而不去考虑空间要创建多少对象, 甚至根本就不创建任何对象. 另一种情形是, 希望某个方法不与包含它的类的任何对象关联在一起. 也就是说, 即使没有创建对象, 也能够调用这个方法.

public class StaticTest
{
    static int i = 47;
	
    public static void main(String[] args)
    {
	StaticTest one = new StaticTest();
	StaticTest two = new StaticTest();

    }
}

在这里one.i和two.i指向同一存储空间, 因为它们具有相同的值(static字段对每个类来说都只有一份存储空间, 而非static字段则是对每个对象有一个存储空间)

posted @ 2016-05-18 11:26  我也姓程  阅读(118)  评论(0编辑  收藏  举报