本帖最后由 杨增坤 于 2013-9-11 17:20 编辑
class Person{
private String name="haha";
private int age;
private static String country="CN";
Person(String name,int age){
this.name=name;
this.age=age;
}
{
System.out.println(name+".."+age);
}
public void setName(String name){
this.name=name;
}
public void speak(){
System.out.println(this.name+".."+this.age);
}
public static void showCountry(){
System.out.println("country="+country);
}
}
class PersonDemo{
public static void main(String[] args){
Person p=new Person("zhangsan",20);
}
}
输出结果是 haha..0,而为什么不是haha..20呢。是不是跟构造代码块有关?一个静态成员变量被定义后,如 private String name="haha"; 后面在用这个Person p=new Person("zhangsan",20);,结果一样输出haha 而不是zhangsan,不是太明白,why?
|