java代码块执行顺序
父类
public class Father {
    public Father() {
        System.out.println("父类构造PUBLIC father");
    }
    static {
        System.out.println("父类静态代码块static father");
    }
    {
        System.out.println("父类普通代码块CLASS father");
    }
}
子类
public class Son extends Father {
    public Son() {
        System.out.println("子类构造PUBLIC son");
    }
    static {
        System.out.println("子类静态代码块static son");
    }
    {
        System.out.println("子类普通代码块CLASS son");
    }
    public static void main(String[] arg) {
        new Son();
        new Son();
    }
}
运行结果

java代码块执行顺序:遵循继承关系(先父后子)
静态代码块==>非静态代码块==>构造方法
静态代码块:类加载时即被执行,切只执行一次
非静态代码块:new()实体化对象时被执行,先于构造执行(每实例一个对象执行一次)
构造方法:new()实体化对象时被执行,后于非静态代码块执行(每实例一个对象执行一次)
java代码块执行顺序的更多相关文章
- Java:面向对象(继承,方法的重写(overide),super,object类及object类中方法的重写,父子类代码块执行顺序)
		
继承: 1.继承是对某一匹类的抽象,从而实现对现实世界更好的建模. 2.提高代码的复用性. 3.extends(扩展),子类是父类的扩展. 4.子类继承父类可以得到父类的全部属性和方法.(除了父类的构 ...
 - Java静态代码块、构造代码块执行顺序问题
		
package com.zxl.staticdemo; public class BlockTest { static { System.out.println("BlockTest静态代码 ...
 - 通过指令码来判断Java代码的执行顺序(++问题与return和finally的问题)
		
问题 在<深入理解Java虚拟机>一书中遇到了如下代码: public int method() { int i; try { i = 1; return i; } catch (Exce ...
 - Java基础系列5:Java代码的执行顺序
		
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...
 - Java——Java代码的执行顺序
		
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...
 - Java中普通代码块,构造代码块,静态代码块执行顺序
		
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
 - java中的代码块执行顺序
		
/* 代码块:在Java中,使用{}括起来的代码被称为代码块. 根据其位置和声明的不同,可以分为 局部代码块:局部位置,用于限定变量的生命周期. 构造代码块:在类中的成员位置,用{}括起来的代码.每次 ...
 - Java中static代码块,{}大括号代码块,构造方法代码块执行顺序!
		
注:下列代码中的注释都是JUnit4单元测试运行结果. 首先,没有父类的(父类是Object)的类A package Static.of; public class A { { System.out. ...
 - 三、Java基础---------关于继承、构造函数、静态代码块执行顺序示例讲解
		
在上节博客中曾提到过类的继承,这篇文章主要是介绍类的继承.构造函数以及静态代码块的执行顺序. 首先接着分析在黑马基础测试中的一个关于继承的题目,题目描述如下: 声明类Person,包含2个成员变量:n ...
 
随机推荐
- Mail.Ru Cup 2018 Round 2 Solution
			
A. Metro Solved. 题意: 有两条铁轨,都是单向的,一条是从左往右,一条是从右往左,Bob要从第一条轨道的第一个位置出发,Alice的位置处于第s个位置,有火车会行驶在铁轨上,一共有n个 ...
 - javascript模式(1)--私有成员
			
javascript是基于对象的一门语言,没有想java等语言那样子拥有封装的特性.但是javascript可以通过闭包来进行模拟. 1.构造函数与私有成员 可以用构造函数形成一个闭包,实现内部成员的 ...
 - Java 异步处理 三种实现
			
new Thread((new Runnable() { @Override public void run() { // 批量同步数据 try { logger.info("^^^^^^^ ...
 - 微信小程序:WXML 模板
			
微信小程序:WXML 模板 一.WXML 模板 网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来 ...
 - BZOJ2221: [Jsoi2009]面试的考验
			
传送门 一句话题意,给定一个序列,询问区间内差值的绝对值的最小值. 这道题之前见过一次,似乎是在一次UER上,那一道题当时是用了近似算法才能过. 数据保证数列随机. 这道题显然非常适合离线的做法,考虑 ...
 - 20155201 实验一《Java开发环境的熟悉》实验报告
			
20155201 实验一<Java开发环境的熟悉>实验报告 一.实验内容 1.使用JDK编译.运行简单的Java程序 2.使用IDEA 编辑.编译.运行.调试Java程序. 二.练习 题目 ...
 - JAVA8新特性——Lamda表达式
			
JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ Lamda表达式,读作λ表达式,它实质属于函数式编程的概念,要理解函数式编程的产生目的,就要先理解匿名内部类. 先来看看传统的匿名 ...
 - eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maven
			
org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter) 解决方法为:更新eclipse中的maven插件 1.help ...
 - [sql]SET NOCOUNT ON 的作用
			
使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息. 说明: 场景1:(不使用SET NOCOUNT) 场景2:(使用SET NOCOUNT ON ) 场景3:(使用SET N ...
 - ajax方法携带授权标识
			
$.ajax({ type: "post", url: "/api/login", data: { username: getusername, passwor ...