关键字 static

 
 

    创建对象时,在堆内存占用占用一定的空间形成实体,并把实体的地址赋予main方法中创建的对象,而对象是通过类person创建,所以这个创建的对象实体可以找到string country。

    特点归纳:

1)随着类的加载而加载。2)优先于对象存在,也就是对象创建前已经存在在该类的静态区。3)被它所属类的所有对象共享。所以他修饰的一般都是有共性的与类相关的类成员。

注:还有一个特点需要理解,它是可以通过类名调用,可以使用对象名调用,但不确定对象已存在就调用时就会报错,推荐使用类名调用。可以用在不需要创建对象的情况下使用。

    注意事项:

非静态的成员方法,毫无疑问可以访问非静态和静态的成员变量。而静态的成员方法只能访问静态的成员变量,以为如果没有创造对象,非静态的成员变量和方法并没有创建。

虽然最开始进方法区,静态和非静态同时加载,但是创建对象后非静态才可以用,类似于静态区是解压缩,而非静态区属于非压缩。总结静态只能访问静态。