Java继承关系的类的初始化和实例化的执行顺序
2019独角兽企业重金招聘Python工程师标准>>>
首先我们定义一个接口,如下:
public interface People {String interfaceName = "People";}
然后定义一个父类,如下:
public class Parent {{System.out.println("Parent code block-1");}static{System.out.println("Parent static block");}{System.out.println("Parent code block-2");}}
最后我们定义子类,如下:
public class Son extends Parent implements People {{System.out.println("Son code block-1");}static{System.out.println("Son static block");}{System.out.println("S code block-2");}}
接着,给出我们的测试代码:
public static void main(String[] args) {new Son();System.out.println("==================");new Son();
}
下面是测试结果:
Parent static block
Son static block
Parent code block-1
Parent code block-2
Son code block-1
Son code block-2
==================
Parent code block-1
Parent code block-2
Son code block-1
Son code block-2
总结:
静态区块的代码再类加载后初始化的时候执行;
代码块(未使用static声明)在类实例化的时候执行;
转载于:https://my.oschina.net/winworld/blog/188514
Java继承关系的类的初始化和实例化的执行顺序相关推荐
- Java创建对象过程:类的初始化和实例化
文章目录 前言 一.类的初始化 二.类的实例化 前言 Java对象的创建过程往往包括类初始化和类实例化两个阶段.类的初始化在前.类的实例化在后. 注意:这与spring的bean正好相反,spring ...
- java中具有继承关系的类及其对象初始化顺序
先说结论 对于具有继承关系的类,它们的类和对象构造顺序为:父类的类构造器() -> 子类的类构造器() -> 父类成员变量的赋值和实例代码块 -> 父类的构造函数 -> 子类成 ...
- java 继承对象 初始化_java中具有继承关系的类及其对象初始化顺序
先说结论 对于具有继承关系的类,它们的类和对象构造顺序为:父类的类构造器() -> 子类的类构造器() -> 父类成员变量的赋值和实例代码块 -> 父类的构造函数 -> 子类成 ...
- 在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类
一.背景 最近在使用记事本编写带有包名并且有继承关系的java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法. 二.测试过程 1.父类代码 1 pa ...
- 抽象类试验。定义一组具有继承关系的类。Shape(形状)类是一个抽象类,包含4个数据成员(坐标x,y,颜色c,图形对象g(Graphics类对象))
package Test5_1_zxj; import javax.swing.*; import java.awt.*; public abstract class Shape {// 抽象类试验. ...
- Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常
Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常 参考文章: (1)Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并 ...
- #十二、编写三角形类Triangle,初始化三个属性,分别是三条边的长度,定义一个计算并打印周长的函数 #十三、编写等腰三角形类EWtriangle,继承于三角形类,初始化只用传一个腰长和一个底长,定
#十二.编写三角形类Triangle,初始化三个属性,分别是三条边的长度,定义一个计算并打印周长的函数 #十三.编写等腰三角形类EWtriangle,继承于三角形类,初始化只用传一个腰长和一个底长,定 ...
- java变量,初始化快,构造函数的执行顺序
转自 http://blog.csdn.net/macheng365/article/details/6403050 ----------------------------------------- ...
- java初始化实例化_Java对象的创建过程:类的初始化与实例化
一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...
最新文章
- 使用Python制作一个简单的刷博器
- 让您的Eclipse具有千变万化的外观
- 系统架构设计的工程与艺术(0)
- idea2021如何开启RunDashboard
- 05_ClickHouse、MergeTree系列引擎概述与存储结构、建表模板、建表语句、MergeTree设置、建表示例、数据存储、数据片段(data part)
- 运用《深入理解Java虚拟机》书中知识解决实际问题
- java加载并运行虚拟机_《深入理解Java虚拟机》- Java虚拟机是如何加载Java类的?...
- html文本最小长度,CSS中处理不同长度文本的几种小技巧
- python 多组直方图 画图_python – 使用matplotlib的多个并排直方图?
- 内连接 左连接 右连接 交叉连接的区别
- 使用计算机必懂的53个英文单词和缩写
- 免费直播:1 小时带你体验 Python 车牌识别实战
- Matlab Tricks(十五) —— 圆的正确画法
- inner join去除重复_SQL多表查询:join表联结
- 驾考——科一,三笔记
- TensorFlow 2.9的零零碎碎(二)-读取MNIST数据集
- ISAPI摘要认证,java代码怎么写
- 手机:运行内存,机身内存,内存卡的区分
- 正则表达式练习题自带注释
- 图割-最大流最小切割的最直白解读
热门文章
- k8s核心技术-Controller(DaemonSet)_部署守护进程---K8S_Google工作笔记0034
- 工程验收工作笔记0002---可以提供等保服务的几个平台
- VC++多线程工作笔记0004---线程相关操作
- STM32工作笔记0082---UCOSIII系统中的OSIntEnter() 与 OSIntExit()
- 0x00007FFEBAD050D8 处(位于 first.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000000DD73CE
- MFC socket编程
- 一叶知秋:“安全“的野指针、 static函数、成员函数、this 指针、gcc编译器、name mangling
- 鸿蒙撕系统裂安卓阵营,鸿蒙系统年底问世 安卓阵营是不是该瑟瑟发抖了
- linux系统 安卓系统安装教程,Linux系统下安装android sdk的方法步骤
- 【10天基于STM32F401RET6智能锁项目实战第4天】外部中断的按键实现语音控制