需求:使用java类描述传智的学生。 传智的学生都是中国人
问题1:每个学生都是中国人,那么就没有必要在每个学生对象中都维护者一个country属性。
解决方案:把country数据移动到数据共享区中。
问题2:怎样才能把数据移动到数据共享区中?
解决方案:只需要使用static关键字修饰该成员变量即可。
class Student{
String name; //姓名
static String country = "中国"; // 成员变量使用了static修饰,那么该数据会进去方法区内存中,而且只会存在一份数据。
public Student(String name){
this.name = name;
}
public void study(){
System.out.println("好好学习,为将来可以成为高富帅做准备!!");
}
}
class Demo44 {
public static void main(String[] args)
{
Student s1 = new Student("张三");
Student s2 = new Student("李四");
s1.country = "小日本";
s2.country = "美国";
System.out.println("姓名:"+ s1.name+" 国籍:"+ s1.country); // 小日本
System.out.println("姓名:"+ s2.name+" 国籍:"+ s2.country); // 中国
}
}