Java类的成员-代码块

Posted orz江小鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 + ‘‘‘ +
                ‘}‘;
    }
}

 

以上是关于Java类的成员-代码块的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象 类的成员之代码块的详解

Java类的各种成员初始化顺序如:父子类继承时的静态代码块,普通代码块,静态方法,构造方法,等先后顺

Java类的静态成员静态代码块普通成员普通代码块构造方法初始化执行的顺序

Java 的类加载顺序

java 静态代码块 代码块 构造函数 静态成员变量 成员变量的初始化顺序

Java代码块