java中的静态代码块

来源:互联网 发布:那年那兔那些事儿知乎 编辑:程序博客网 时间:2024/05/17 02:34

在java的学习中,看到了静态代码块觉得很有趣。代码如下

package Person;class Person{    String name;    int age;    static String city;    void talk()    {        System.out.println("我是" + name + ",今年" + age + "岁,来自"+city);    }    Person()    {        System.out.println("this is 构造");    }    Person(String name)    {        this.name=name;    System.out.println("name:"+name);    }    Person(String name,int age,String city)    {        this.name=name;        this.age=age;        this.city=city;    }    static//静态代码块,一般用来执行初始化。{System.out.println("静态代码块 Done");}//非静态代码{System.out.println("非静态代码 Done");}}public class hello{    public static void main(String[] args)    {        System.out.println("run");        Person p1=new Person("张三",12,"china");        Person p2=new Person("李四",15,"usa");        Person p3=new Person("王五",17,"japan");        p1.talk();        p2.talk();        p3.talk();    }}

其中静态代码只会执行一次,而非静态代码在每次new新对象时都会被执行,构造函数最后才会被执行。

static修饰的变量表示全域变量。在所有的实例中,只有一个该变量。

下面这篇文章讲的很详细,Mark一下。

http://liqita.iteye.com/blog/1472717

0 0
原创粉丝点击