Java 构造函数 静态代码块

public class 静态 {

public static void main(String[] args) {
    person p=new person();
    p.show();
    person p1=new person("xixi");
    p1.show();
}

}
class person{ ** 这里显示“person"错误**
private String name;
{
cry();
}
{
System.out.println("哇哇");
}
person(){
name="xx";
}
person(String name){
this.name=name;
}
public void cry(){
System.out.println("哇哇");
}
public void show(){
System.out.println();
}
}

你这程序没有静态变量,哪来的静态代码段?

研究这个http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html

一个代码文件定义一个类,类名和文件名对应。

public class 静态 {

public static void main(String[] args) {
    person p=new person();
    p.show();
    person p1=new person("xixi");
    p1.show();
}

}
class person{ ** 还是person错误**
private String name;
person(){
name="xx";
}
person(String name){
this.name=name;
}

public void show(){
    System.out.println("name"+name);
}

}

以下代码,文件名为 静态.java

 public class 静态 {
    public static void main(String[] args) {
        person p=new person();
        p.show();
        person p1=new person("xixi");
        p1.show();
    }
}

class person{ 
    private String name;
    person(){
        name="xx";
    }
    person(String name){
        this.name=name;
    }

    public void show(){
        System.out.println("name"+name);
    }
}

静态代码块是这样的形式

public class Person {
private String name;
static {
name="张三";
}
public Person(){

}
}
静态代码块会在 构造函数之前执行 并且只执行一次