Java类的成员-代码块

1.代码块的作用:用来初始化类、对象

2.如果有修饰,只能使用static来修饰

3.分类:静态代码块 vs 非静态代码块

4.静态代码块
  内部可以有输出语句
  随着类的加载而执行,而且只执行一次
  作用:初始化类的信息
  静态代码块的执行优先于非静态代码块的执行
  静态代码块内只能调用静态的属性、静态的方法
5.非静态代码块
  内部可以有输出语句
  随着类的创建而执行,每创建一个对象就执行一次非静态代码块
  作用:可以在创建对象是,对对象的属性等进行初始化
public class BlockTest {
    public static void main(String[] args) {
        String desc=Person.desc;

        Person person=new Person();
        Person person1=new Person();
    }
}
class Person{
    //属性

    private int age;
    private String name;
    static String desc="我是一个人";

    //构造器

    public Person() {
    }

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

    //静态代码块
    static {
        System.out.println("我是静态代码块,随着类的加载而执行");
    }

    //非静态代码块

    {
        System.out.println("我是非静态代码块,随着类的创建而执行");
    }

    //方法

    public void eat()
    {
        System.out.println("吃");
    }

    @Override
    public String toString() {
        return "person{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}

 

posted @ 2020-08-05 22:02  orz江小鱼  阅读(191)  评论(0编辑  收藏  举报