1.静态代码块

格式: static{ 内容..... }

  • 随着类的加载而加载,而且只被加载一次
  • 多个静态代码块之间按照顺序结构执行
  • 优先其他各种代码块以及构造函数先执行
  • 静态的代码块中只能执行静态的结构(类属性,类方法)

   2.构造代码块

格式:{  内容......   }

  • 每创建一个类的对象,非静态代码块就加载一次
  • 非静态代码块的执行要早于构造器
  • 一个类中可以有多个非静态的代码块,多个代码块之间按照顺序结构执行
  • 可以对类的属性(静态的 & 非静态的)进行初始化操作,同时也可以调用本类声明的方法(静态的 & 非静态的)

3.普通代码块

普通代码块是在方法体中定义的

格式:权限修饰符  返回值  方法名(){ { 内容...... } }

package com.codeblock;

/**
 * 代码块
 *
 * @author yyx 2019年2月15日
 */
public class CodeBlockDemo {
    public static void main(String[] args) {
        SubClass subClass = new SubClass();
        subClass.sayHello();
        System.out.println("-------------");
        SubClass subClass1 = new SubClass();
    }
}

class SuperClass {
    static {
        System.out.println("父类静态代码块!");
    }

    {
        System.out.println("父类构造代码块!");
    }

    public SuperClass() {
        System.out.println("父类构造函数");
    }
}

class SubClass extends SuperClass {
    static {
        System.out.println("子类静态代码块!");
    }

    {
        System.out.println("子类构造代码块!");
    }

    public SubClass() {
        System.out.println("子类构造函数");
    }

    public void sayHello() {
        {
            System.out.println("子类普通代码块");
        }
    }
}运行结果:

父类静态代码块!
子类静态代码块!
父类构造代码块!
父类构造函数
子类构造代码块!
子类构造函数
子类普通代码块
-------------
父类构造代码块!
父类构造函数
子类构造代码块!
子类构造函数

Java基础(basis)-----代码块详解的更多相关文章

  1. java中静态代码块详解

    感谢大佬:https://blog.csdn.net/qq_35868412/article/details/89360250 今天在项目中看到这行代码,静态代码块,很久没用静态代码块了,今天来复习一 ...

  2. Java基础-面向接口编程-JDBC详解

    Java基础-面向接口编程-JDBC详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JDBC概念和数据库驱动程序 JDBC(Java Data Base Connectiv ...

  3. java基础(3)--详解String

    java基础(3)--详解String 其实与八大基本数据类型一样,String也是我们日常中使用非常频繁的对象,但知其然更要知其所以然,现在就去阅读源码深入了解一下String类对象,并解决一些我由 ...

  4. java构造代码块详解

    一.简介 首先说一下,Java中有哪些代码块. 普通代码块 就是在方法后面使用"{}"括起来的代码片段,不能单独执行,必须调下其方法名才可以执行. 静态代码块 在类中使用stati ...

  5. Java 代码块详解

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 注:本文原链接:https://www.cnblogs.com/chloneda/p/java-c ...

  6. Java代码块详解

    Java中代码块指的是用 {} 包围的代码集合,分为4种:普通代码块,静态代码块,同步代码块,构造代码块 普通代码块: 定义:在方法.循环.判断等语句中出现的代码块 修饰:只能用标签修饰 位置:普通代 ...

  7. java中的静态变量、静态方法与静态代码块详解与初始化顺序

      我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程.其中静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...

  8. java中的静态变量,静态方法与静态代码块详解

    java中的类的生命周期分为装载,连接,初始化,使用,和卸载五个过程. 而静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...

  9. java基础之类与继承 详解

    Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知 ...

随机推荐

  1. pip技巧(加速下载和安装)

    pip技巧(linux同样) 某些开发包下载过程中会很慢,会出现timeout的情况,解决办法: 可以配置下镜像,加速下载和安装 1.python的豆瓣源地址(镜像) https://pypi.dou ...

  2. 命令行颜色换算器(基于python)

    import sys print(hex(int(sys.argv[1])<<16|int(sys.argv[2])<<8|int(sys.argv[3]))) 就两行代码 在 ...

  3. CloudStack+KVM环境搭建(步骤很详细,说明ClockStack是用来管理虚拟机的)

    文章目录环境准备配置本地域名解析关闭selinux安装ntp服务安装管理端安装Mysql数据库安装服务端RPM:初始化CloudStack数据库:初始化cloudstack管理服务器安装系统虚拟机安装 ...

  4. CloudStack和OpenStack该如何选择(如果准备选择OpenStack,请做好hack的准备。CloudStack的底层功能已经做的很完善了,更适合商用)

    国内做云计算的目前基本会在OpenStack和CloudStack中做一个选择.CloudStack 和OpenStack选哪一个,要根据自己的业务模式和研发力量来定. 作者:来源:cloudstac ...

  5. 【python-opencv】30-角点检测

    [微语]世上有很多不可能,不过不要在你未尽全力之前下结论 特征检测:找到图像特征的技术 特征描述:描述图像特征 Harris角点检测(Corner Detection) 参考: https://doc ...

  6. LED客显的类

    using System; using System.IO.Ports; namespace Common { public class LedHelper { ; private static st ...

  7. vue获取内存中的值并写入

    <template> <div class="container"> <h3>发表评论</h3> <hr> <te ...

  8. 使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径

    使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径 经常地,我们要在jsp等页面引入像js,css这样的文件,但是在服务器来访问的时候,这时间就有关到相对路径与绝对路径了.像网页 ...

  9. InnoDB Next-Key Lock

    InnoDB有三种行锁的算法: 1,Record Lock:单个行记录上的锁 2,Gap Lock:间隙锁,锁定一个范围,但不包括记录本身 3,Next-Key Lock:Record Lock + ...

  10. ansible的安装及基本使用

    1.安装ansible 如果没有版本和别的要求,这里直接使用yum安装 yum -y install ansible 查看版本 [root@ ~]#ansible --version ansible ...