题目:在主类MainClass中的main方法中首先用类名访问surname,并为surname赋值,然后FamilyPerson类创建三个对象,father ,sonOne,sonTwo,并分别为其成员变量赋值,最后输出相关信息。
法一:每个单独进行赋值
package familyname; public class FamilyPerson { static String surname;//姓氏//静态变量static 关键字 public String name;//名字 } class mainclass { public static void main(String[] args) { // TODO Auto-generated method stub FamilyPerson.surname="黄";//调用静态变量 语法:类名.类变量名 FamilyPerson father=new FamilyPerson();//对象实例化 FamilyPerson sonOne=new FamilyPerson(); FamilyPerson sonTow=new FamilyPerson(); father.name="爸爸";//成员变量赋值 语法:对象.成员变量名 sonOne.name="天天"; sonTow.name="亮亮"; System.out.println("父亲的名字为:"+FamilyPerson.surname+father.name); System.out.println("父亲的名字为:"+FamilyPerson.surname+sonOne.name); System.out.println("父亲的名字为:"+FamilyPerson.surname+sonTow.name); } } //姓氏是大家都一样,所以改一次就大家都共用,所以设为静态变量法二:构造方法赋值
package familyname; public class FamilyPerson { static String surname;//姓氏//静态变量static 关键字 public String name;//名字 FamilyPerson(String n)//构造方法赋初值 { name=n; } } class mainclass { public static void main(String[] args) { // TODO Auto-generated method stub FamilyPerson.surname="黄";//调用静态变量 语法:类名.类变量名 静态变量只需赋一次初值,全局可享用,且后续一概则改 FamilyPerson father=new FamilyPerson("爸爸");//对象实例化 FamilyPerson sonOne=new FamilyPerson("天天"); FamilyPerson sonTow=new FamilyPerson("亮亮"); System.out.println("父亲的名字为:"+FamilyPerson.surname+father.name); System.out.println("父亲的名字为:"+FamilyPerson.surname+sonOne.name); System.out.println("父亲的名字为:"+FamilyPerson.surname+sonTow.name); } }static String surname;
static静态变量关键字: 静态变量在全局范围内有效,是个全局变量,且唯一,可跨类访问(整个程序),且所有该类的对象都可以访问该静态变量,每个对象都可以对其修改,且一改则改,以最后一次修改为准。
如果你想要处理的东西是整个程序中唯一的,弄成静态是个好方法。 注意:静态变量是类层面的,所以用类去调用, 语法:类名.静态变量名 但 对象.静态变量名 的调用方式也可以(不推荐),此法一改则改 成员变量(实例变量)都是方法层面的,所以要用方法去调用,语法: 方法名.变量名
****常常把在全局范围(整个程序)内起作用,且全局有效的唯一变量(只需定义一次),大家都共用的变量,设置为静态变量,一改则改,静态变量只需赋一次初值,全局可享用,且后续一概则改 (目的:简化程序执行步骤)
