• 二、Java面向对象(10)_代码块


    2018-05-02

    代码块

    什么是代码块?

      在类或者方法中,使用“{}”将多行代码封装在一起,形成一个独立的代码区,这就构成了代码块。

      在代码块里的变量属于局部变量,只在自己所在区域的前后{}内有效。

    代码块的分类

      根据代码块定义的位置不同,分成三种

    1、局部代码块:在方法里用一对“{}”括起来的数据,就是局部代码块,

      一般我们不会直接使用局部代码块,只不过我们会结合if,while,for,try等关键字联合,表示一块代码区域。

    2、初始化代码块(构造代码块):是在类中直接定义的,用“{}”括起来的代码。

      每次创建对象都会都用构造器,在调用构造器之前,都会先执行初始化代码块。

      通过反编译可以看到,初始化代码块也作为构造器最初语句。

      我们一般不使用初始化代码块,即使要做初始化操作,也一般在构造器中做即可。如果做初始化操作的代码比较多,那么此时构造器的结构比较混乱,

      此时可以专门定义一个方法做初始化操作(对象的初始化),然后在构造器中调用即可。

    3、使用static修饰的初始化代码块:(在类中的成员位置,用“{}”括起来的代码,只不过他用了static修饰了,。)

      在主方法执行之前执行静态代码块,而且只执行一次

    main方法是程序的入口,为什么静态代码块优先于主方法执行?

      因为静态成员随着字节码的加载而加载,也加载进JVM。此时main方法还没有执行,因为方法需要JVM调用。

      即先把字节码加载进JVM,而后JVM再调用main方法。

      一般我们用来做初始化操作(类的初始化),加载资源,加载配置文件等等。

  • 相关阅读:
    template.js简单入门
    Tortoisegit和GitHub使用入门
    自定义Http请求头并且获取
    Dapper基础入门
    StackExchange.Redis在net中使用
    领域驱动设计(DDD)
    Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM) AspectJ
    重构流程
    性能优化方法论举例(***)
    线上紧急问题,如宕机、卡顿、bug等,如何快速反应和解决,具体解决方案
  • 原文地址:https://www.cnblogs.com/sunNoI/p/8981894.html
Copyright © 2020-2023  润新知