当前位置:
首页 > temp > 简明python教程 >
-
java面对对象入门(4)-程序块初始化
Java实例初始化程序是在执行构造函数代码之前执行的代码块。每当我们创建一个新对象时,这些初始化程序就会运行。
1.实例初始化语法
用花括号创建实例初始化程序块。对象初始化语句写在括号内。
public class DemoClass {
//This is initializer block 1
{
//statements
}
//This is initializer block 2
{
//statements
}
}
2.Java实例初始化器功能
实例初始化器具有以下功能。
- 我们可以在一个类中定义多个初始化器。
- 所有初始化程序将按顺序执行,以使其出现在类主体中。
-
初始化程序在调用父类构造函数之后,在执行子类构造函数之前运行。请注意
super()
,如果我们未在子类的构造函数中显式提供第一个语句,则Java会插入父类的默认构造函数。 - 执行完所有初始化程序后,将执行构造函数的语句。
- 我们可以在初始化器中使用此类和父类的构造函数的调用。
3.Java实例初始化序列流程
基于以上给出的功能,让我们概述一下对象的实例初始化如何进行。
- 子类构造函数被调用。
- 子类构造函数的第一个语句为super()(或提供的显式构造函数),因此将调用父类构造函数。
- 父类的初始化程序按其出现顺序执行。
- 父类构造函数语句被执行。
- 子类的初始化程序按其出现顺序执行。
-
子类构造函数语句被执行。
4.Java实例初始化示例
让我们快速地看一个演示以上理论的例子。
ParentClass.java
public class ParentClass
{
public ParentClass()
{
System.out.println("In ParentClass Constructor");
}
//Instance Initializer
{
System.out.println("In ParentClass Instance Initializer");
}
}
ChildClass.java
public class ChildClass extends ParentClass
{
public ChildClass()
{
super(); //If not provided, JVM will insert it
System.out.println("In ChildClass Constructor");
}
//Instance Initializer 1
{
System.out.println("In ChildClass Instance Initializer 1");
}
//Instance Initializer 2
{
System.out.println("In ChildClass Instance Initializer 2");
}
}
Main.java
public class Main
{
public static void main(String[] args)
{
ChildClass childObj = new ChildClass();
}
}
程序输出
In ParentClass Instance Initializer
In ParentClass Constructor
In ChildClass Instance Initializer 1
In ChildClass Instance Initializer 2
In ChildClass Constructor
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数