• 代码块小知识


    代码块介绍:
    代码块又称为初始化块,属于类中的成员也是类的一部分,类似于方法,将逻辑语句封装在方法体中,通过"{ 括号 }"包围起来

    但不同的是,没有方法名、没有返回值、没有参数、只有方法体,而且是不用通过对象或类显式调用,而是加载类时,或创建对象时隐式调用

    语法:
    {
    代码块
    }
    staitc[修饰符]{
    代码块
    }

    注意:
    1. 修饰符 可选,但也只能写static
    2. 代码块分为两类,使用static 修饰的叫静态代码块,没有static修饰的,叫普通代码块/非静态代码块
    3. 逻辑语句可以为任何逻辑语句(输入,输出,方法调用,循环,判断等)
    4. 结尾时 “;” 可以写也可以省略

    好处:
    1. 相当于另一种形式的构造器(对构造器的补充机制),可以做初始化的操作
    2. 如果多个构造器中存在重复的语句,可以剪切到初始化块中,提高代码的简易性,可读性

    代码演示
    创建Cartoon类,定义成员变量,定义构造器,创建静态/非静态代码块,重写toString方法
    在这里插入图片描述
    声明Cartoon对象,并分别调用Cartoon类中的两个构造器
    在这里插入图片描述
    输出结果:
    如下显示
    静态代码块的语句只会调用一次,不管加载多个方法也只会显示一次
    非静态代码块则是方法调用一次,就会显示一次
    在这里插入图片描述

    如果创建一个子类对象时存在继承关系,它们的静态代码块,静态属性初始化普通代码块,普通属性初始化,构造方法的调用顺序如下:
    1.父类的静态代码块和静态属性(优先级一致,按定义顺序执行)
    2.子类的静态代码块和静态属性(优先级一致,按定义顺序执行)
    3.父类的普通代码块和普通属性初始化(优先级一致,按定义顺序执行)
    4.父类的构造方法
    5.子类的普通代码块和普通属性初始化(优先级一致,按定义顺序执行)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    ISL1208时钟芯片 Linux下 i2c 读写示例。
    No151.精选前端面试题,享受每天的挑战和学习
    【Spring笔记05】Spring的自动装配
    Django+Vue.js学习记录(一)环境安装与配置
    Node版本管理工具——Nvm
    Profinet转modbusTCP网关快速配置案例
    ESP8266 做简单的仪器
    RTI-DDS代码分析使用介绍
    sharding分片键 groovy公式带有非数字字符启动失败
    Shell脚本的执行流程详解
  • 原文地址:https://blog.csdn.net/weixin_55086241/article/details/126764403