标签:
如果有属性希望被所有对象共享,则必须将其申明为static属性。
使用static声明属性,则此属性称为全局属性,有时候也称为静态属性。
当一个类的属性申明位static的时候,由这个类产生的多个对象中属性,只需要对其中一个对象的该属性进行修改,即可以修改所有对象的这个属性。
若申明为public的时候,则修改申明的对象的属性只修改一个,申明为private的时候报错,因为该属性私有化,不能被方法所调用。
在调用static申明的属性的时候,最好通过类名称来直接调用,因为通过对象来调用不知道该类产生了多少的对象,这样子不太好,所以又把static声明的属性称为类属性,调用的格式位Person_1.coountry="B city";
class Person_1{ private String name; private int age; static String country = "A city"; public Person_1(String n,int a){ this.name = n; this.age = a; } public void info(){ System.out.println("name:"+this.name+"\t"+"age:"+this.age+"\t"+"city:"+this.country); } }; public class static_test { public static void main(String[] args) { // TODO 自动生成的方法存根 Person_1 p1 = new Person_1("zhangsan",30); Person_1 p2 = new Person_1("wangwu",40); p1.info(); p2.info(); p1.country = "B city"; p1.info(); p2.info(); } }
Java中的常用的内存区域
<1>栈内存空间:保存所有的对象名称(更准确的说是保存了引用的堆内存空间的地址)
<2>堆内存空间:保存每个对象的具体属性内容
<3>全局数据区:保存static类型的属性
<4>全局代码区:保存所有的方法定义
标签:
原文地址:http://www.cnblogs.com/tonglin0325/p/5192329.html