美文网首页
java笔记--静态代码块,构造代码块,构造函数执行顺序

java笔记--静态代码块,构造代码块,构造函数执行顺序

作者: 吃饱喝足搬代码丶 | 来源:发表于2018-03-31 10:56 被阅读0次
    //静态代码块先执行,有对象构造代码块先执行然后构造函数
    class StaticCode{
        static int num;
        static
        {
            num=10;
            System.out.print("hahah");
        }
        StaticCode(){}
        static void show(){
            System.out.print(num);
        }
    }
    class Person{
        private String name;
        {//构造代码块,可以给所有对象初始化
            //System.out.println("person run");因为一创建对象,构造代码块就执行一次,所以可换位cry()
            cry();//直接在这里调用,所有的对象就都有了
        }
        Person()//是给对应的对象进行针对性的初始化
        {
            name="baby";
            //cry();
        }
        Person(String name){
            this.name=name;
            //cry();
        }
        public void cry(){
            System.out.println("wawa");
            {
                //局部代码块,限定局部变量的生存周期
            }   
        }
        public void speak(){System.out.println("name:"+name);}
        static void show(){System.out.println("show run");}
    }
    class test {
    
        static
        {
            //System.out.print("a");
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Person p1=new Person();
            p1.speak();
            Person p2=new Person("wc");     
            p2.speak();
            new Person();
            //Person.show();
    
            
        }
    
    }
    
    
    运行: image.png

    相关文章

      网友评论

          本文标题:java笔记--静态代码块,构造代码块,构造函数执行顺序

          本文链接:https://www.haomeiwen.com/subject/pclgcftx.html