1、静态变量--每当创建一个类的实例时就会在堆区创建这个类的所有属性对象,如有被static 修饰的属性时,则将此属性放入静态区中被共享。
1-1未加static关键字修饰的变量
/**
* static关键字修饰的变量
* @author Administrator
*
*/
public class Test_Static {
public static void main(String[] args) {
Person p1 = new Person("小明",15,"河南");
Person p2 = new Person("小红",14,"河南");
Person p3 = new Person("小亮",19,"河南");
p1.city="河北";
p2.city="河北";
p3.city="河北";
p1.printData();
p2.printData();
p3.printData();
}
}
class Person{
String name;
int age ;
String city;
public Person(){}
public Person(String name,int age,String city){
this.name = name;
this.age = age;
this.city = city;
}
public void printData(){
System.out.println("姓名:"+name+"--年龄:"+age+"--城市:"+city);
}
}
姓名:小明--年龄:15--城市:河北
姓名:小红--年龄:14--城市:河北
姓名:小亮--年龄:19--城市:河北
内存图解:
1-2 被static修饰的变量
public class Test_Static {
public static void main(String[] args) {
Person p1 = new Person("小明",15);
Person p2 = new Person("小红",14);
Person p3 = new Person("小亮",19);
Person.city="河北";
p1.printData();
p2.printData();
p3.printData();
}
}
class Person{
String name;
int age ;
static String city = "河南";
public Person(){}
public Person(String name,int age){
this.name = name;
this.age = age;
}
public void printData(){
System.out.println("姓名:"+name+"--年龄:"+age+"--城市:"+city);
}
}
打印结果:
姓名:小明--年龄:15--城市:河北
姓名:小红--年龄:14--城市:河北
姓名:小亮--年龄:19--城市:河北
内存图解: