码迷,mamicode.com
首页 > 其他好文 > 详细

静态代码块、非静态代码块(构造块)的区别

时间:2020-02-29 20:40:45      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:turn   调用   etag   getname   构造方法   cut   代码示例   区别   int   

1、静态代码块是在类加载的时候执行的,格式为static{...}

2、非静态代码块(构造块),每调用一次构造方法就会执行一次,可以提取构造函数中公共的部分放在构造块,格式为{...}

代码示例:

public class Student {
    private String banji;
    private String name;
    private String age;
    static {
        System.out.println("加载1班的同学");
    }
    {
        this.banji="1班";
    }
    public void init(){
        System.out.println("init execute");
    }

    public Student(String name, String age) {
        this.name = name;
        this.age = age;
    }

    public String getBanji() {
        return banji;
    }

    public void setBanji(String banji) {
        this.banji = banji;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}


public class Test {
    public static void main(String[] args){
        Student student=new Student("bonnie","10");
        Student student2=new Student("xiaohong","20");

        System.out.println(student.getBanji()+","+student.getName()+","+student.getAge());
        System.out.println(student2.getBanji()+","+student2.getName()+","+student2.getAge());
    }
}

代码输出:

加载1班的同学
1班,bonnie,10
1班,xiaohong,20

 

静态代码块、非静态代码块(构造块)的区别

标签:turn   调用   etag   getname   构造方法   cut   代码示例   区别   int   

原文地址:https://www.cnblogs.com/BonnieWss/p/12384746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!