zoukankan      html  css  js  c++  java
  • 什么是初始化块

    初始化块
    什么是初始化块
    》初始化块是java类中出现的第四类成员(成员变量、成员方法、构造方法)
    》其功能与构造方法非常类似,可以对java进行初始化操作
    //定义初始化块
    {
    System.out.println("Person类的第一个初始化块:所有person对象都有自己的名字");
    }

    {
    int num = 10;
    if (num >=10) {
    System.out.println("Person类的第二个初始化块:num的值大于10");
    }
    }

    public Person() {
    System.out.println("这是Person类的无参方法");
    }
    初始化块特点:
    初始化块中可以包含任何可执行语句,包括变量定义、调用方法、访问成员变量、分支、循环等
    一个类中可以出现多个初始化块
    创建对象时,由系统默认调用,因为初始化没有任何名称标志,所以无法显示调用
    当有多个初始化块时,从上到下依次执行,并且是在构造方法之前执行
    虽然一个类中允许有多个初始化块,但这样没有意义,只写一个即可


    初始化块和构造方法的比较
    1、在某种程度上,初始化块是对构造方法的补充,都是针对对象进行初始化操作
    不同的是,初始化块是一段固定的代码,不接受参数,也没有任何返回操作,对所有对象的处理完全相同
    2、若有一段代码,无需接收任何参数,对所有对象的处理完全相同,那就可以将其放到初始化块中


    静态初始化块
    使用static修饰的初始化块可以称之为类初始化块
    类初始化块同其他静态成员一致,随着类的加载而加载,比普通初始化先执行
    并且只能访问静态成员
    初始化之前,只能添加static修饰符

  • 相关阅读:
    一张图片入门Python
    4.1. 如何在Windows环境下开发Python
    你必须知道的EF知识和经验
    XUnit的使用
    如何使用NUnit
    Entity Framework 不支持DefaultValue
    Have You Ever Wondered About the Difference Between NOT NULL and DEFAULT?
    Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
    Entity Framework 与多线程
    sqlite中的自增主键
  • 原文地址:https://www.cnblogs.com/longmo666/p/13557299.html
Copyright © 2011-2022 走看看