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. Bloom Filter 数据结构去重

    Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合. Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于 ...

  2. RequireJs的理解

    什么是RequireJs RequireJS 是一个JavaScript模块加载器. 在ES6出现之前,JS不像其他语言同样拥有“模块”这一概念,于是为了支持JS模块化,出现了各种各样的语言工具,如w ...

  3. 前端 chrome查看html样式基本操作

    Chrome浏览器是世界上HTML5支持最好的浏览器.提供了非常好的开发工具,非常适合我们开发人员使用.审查元素功能的快捷键是F12. 按检查或者F12 鼠标点击找标签 chorme审查元素的使用 - ...

  4. Codefoces 432C Prime Swaps(数论+贪心)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011328934/article/details/26094917 题目连接:Codefoces ...

  5. redgate的mysql架构比较和数据比较工具

    redgate的mysql架构比较和数据比较工具 最近线上数据需要进行架构比较,比较两个服务器上的mysql实例上数据库的架构 数据比较可以用percona的pt-table-checksum和pt- ...

  6. Java中基本数据类型byte,short,char,int,long,float,double 取值范围

    部分内容转自:java 彻底理解 byte char short int float long double 首先说byte: 这段是摘自jdk中 Byte.java中的源代码: /** * A co ...

  7. sap 提供服务

    1: https://blog.csdn.net/stone0823/article/details/81661261?utm_source=blogxgwz1 https://blog.csdn.n ...

  8. GENIL_BOL_BROWSER, GENIL_MODEL_BROWSER,BSP_WD_CMPWB 使用方法

    一:GENIL_BOL_BROWSER 使用方法 1: 进入x3c系统.输入T-CODE  GENIL_BOL_BROWSER 2: 输入一个component set  名称 3: 选择一个对象,双 ...

  9. PHP递归方法实现前序、中序、后序遍历二叉树

    二叉树是每个节点最多有两个子树的树结构.通常子树被称作“左子树”(left subtree)和“右子树”(right subtree). class Node { public $value; pub ...

  10. 新手详解JAVA+数据库+JSP完成简单页面

    本篇以数据库添加为例(本例中数据库名为“xinxi”表单名字为“stud”) 准备---实体层: package entity; public class Student { private Stri ...