您的位置:首页 > 编程语言 > Java开发

JAVA类的成员基础解读:代码块

2020-07-12 22:35 113 查看

代码块

  • 二、静态代码块
  • 三、菲静态代码块
  • 一、基本概念

    1.作用

    作用: 对Java类或对象进行初始化。

    2.分类:2类

    1. 静态代码块:一个类中代码块若有修饰符,则只能被static修饰,称为静态代码块(static block)
      static代码块通常用于初始化static的属性
    2. 一个类中代码块若有修饰符,且没有使用static修饰的,称为非静态代码块

    二、静态代码块

    1.定义

    静态代码块:用static修饰的代码块

    2.特点

    1. 内部可以有输出语句。
    2. 初始化类的信息(属性、方法)。
    3. 只能调用静态的属性、静态的方法,不能调用非静态的结构。即不可以对非静态的属性初始化。
    4. 如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行
    5. 静态代码块的执行要先于非静态代码块。
    6. 静态代码块随着类的加载而加载执行,且只执行一次。

    三、菲静态代码块

    1.定义

    非静态代码块:没有static修饰的代码块

    2.特点

    1. 内部可以有输出语句。
    2. 可以对类的属性、类的声明进行初始化操作。
    3. 除了调用非静态的结构外,还可以调用静态的变量或方法。
    4. 若有多个非静态的代码块,则按照声明的先后顺序执行。
    5. 每次创建对象的时候,都会执行一次(随着对象的创建而执行)。
      可以在创建对象时,对对象的属性等进行初始化且先于构造器执行。

    代码展示

    class BlockTest {
    public static void main(String[] args) {
    
    String desc = PersonCD.desc;
    System.out.println(desc);
    
    PersonCD p1 = new PersonCD();
    PersonCD p2 = new PersonCD();
    System.out.println(p1.age);
    
    PersonCD.info();
    }
    }
    class PersonCD{
    //属性
    String name;
    int age;
    static String desc = "我是一个人";
    
    //构造器
    public PersonCD(){ }
    public PersonCD(String name,int age){
    this.name = name;
    this.age = age;
    }
    
    //非static的代码块
    {
    System.out.println("hello, block - 2");
    }
    {
    System.out.println("hello, block - 1");
    //调用非静态结构
    age = 1;
    eat();
    //调用静态结构
    desc = "我是一个爱学习的人1";
    info();
    }
    //static的代码块
    static{
    System.out.println("hello,static block-2");
    }
    static{
    System.out.println("hello,static block-1");
    //调用静态结构
    desc = "我是一个爱学习的人";
    info();
    //不可以调用非静态结构
    //		eat();
    //		name = "Tom";
    }
    
    //方法
    public void eat(){
    System.out.println("吃饭");
    }
    @Override
    public String toString() {
    return "Person [name=" + name + ", age=" + age + "]";
    }
    public static void info(){
    System.out.println("我是一个快乐的人!");
    }
    }
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐