目录
1. 分类
2. 解析
3. 构造块和构造器的区别
4. 加载顺序
1. 分类
普通块: 方法内|块内
静态块:类中方法外+static
构造块:类中方法外
同步块:多线程讲解synchronized
2.解析
1. 静态块:初始化类信息,仅加载一次
2. 构造块:初始化对象信息,先于构造器执行的,每创建一个对象 初始化一次
3.构造块和构造器的区别
1. 构造块先于构造器执行
2. 构造器能够动态传参。
/** * 块:{} 作用域问题 * * @author zhongaidong */ public class Block { int a = 30; // 静态块 static { // 类中方法外 初始化类信息,仅加载一次 System.out.println("静态块"); } // int a =0; //成员变量 // 构造块:每创建一个对象 初始化一次 { // 类中方法外 初始化对象信息,先于构造器执行的 System.out.println("构造块"); a = 20; // 字面值 } public Block() { System.out.println(a); } public Block(int a) { this.a = a; System.out.println(a); } public static void main(String[] args) { { // 普通块 int a = 0; // a仅在该块中有效 } System.out.println("......"); new Block(); // 每创建一个对象 调用构造块 +调用构造器 new Block(100); } }
4. 加载顺序
1、先父类后子类
2、先静态后成员
3、静态一次,成员多次
public class F { static { System.out.println("F-->static"); } { System.out.println("F-->constructor block"); } public static void main(String[] args) { new C(); new C(); } } class C extends F { static { System.out.println("C-->static"); } { System.out.println("C-->constructor block"); } }
相关推荐
1. **面向对象编程基础**:面向对象编程(OOP)是一种编程范式,它基于“对象”的概念,强调数据和操作数据的方法结合在一起。Java作为一款纯面向对象的语言,其一切皆为对象,包括基本类型都有对应的包装类。 2. *...
面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将程序设计看作是对象的交互,对象之间的关系和行为。 一、对象和类 在Java中,对象是指具有某些特征和行为的实体,例如人、学生、大象、冰箱...
JAVA面向对象程序设计是 Java 编程语言的核心 contents,涵盖了面向对象编程的基本概念、语法规则、编程技术和实际应用等方面的知识。本文总结了 JAVA面向对象程序设计的知识点,涵盖了 Java 语言的基本语法、面向...
【标题】"C#面向对象编程期末参考题"揭示了本次讨论的核心——C#编程语言中的面向对象编程(Object-Oriented Programming, OOP)概念,这是软件开发中的一种重要方法论。C#是一种现代、类型安全且面向对象的语言,...
面向对象编程在设计、测试和维护大型应用程序方面尤其有用。通过封装,可以隐藏不必要的信息,从而简化类的使用。继承促进了代码重用,并提供了一种自然的方式来模拟现实世界的层次结构。而多态性允许在软件中添加新...
C++是一种强大的、通用的编程语言,以其支持面向对象编程(OOP)而闻名。面向对象编程是一种设计和实现软件的方式,它强调将现实世界的问题和解决方案映射到计算机程序中的对象。本资料包“C++面向对象程序设计 经典...
《C++面向对象编程实例大全》是一本专为初级学习者设计的教程,旨在通过丰富的实例深入浅出地讲解C++的面向对象编程概念。面向对象编程(Object-Oriented Programming,简称OOP)是C++的核心特性,也是现代软件开发...
C++是一种强大的编程语言,以其面向对象特性而闻名,它结合了过程化编程和面向对象编程的优势。在“C++面向对象程序设计教程——课件PPT”中,我们可以深入学习这一主题,由陈维兴和林小茶编著,清华大学出版社出版...
在面向对象编程中,**类**是一种定义通用特性的抽象模型,它描述了一组具有相同属性和行为的对象。例如,在本例中提到的“汽车”类就定义了所有汽车的共性特征,比如车门数量、变速箱配置等。而**对象**则是类的具体...
面向对象程序设计是 Python 中的一种重要编程范式,它基于类和对象的概念,强调数据封装、继承和多态性。本实验旨在让学生深入理解和实践面向对象编程的基本原理和技巧。 首先,实验要求学生掌握类的定义。在 ...
DFB(分布式功能块)定义中包含了输入/输出参数、私有/共有变量和代码实现,这些都是面向对象编程中类的基本元素。创建类的实例就像创建一个普通的布尔变量一样简单,在“FunctionBlocks”中定义变量即可。 二、...
Labview面向对象编程是NI...通过学习和掌握Labview面向对象编程,开发者可以构建出更复杂、更易于维护的应用程序,适应不断变化的需求,并利用Labview的强大功能进行数据分析、控制工程、测试测量等领域的项目开发。
在Python中,面向对象编程是其核心特性之一,使得Python成为了一种非常适合进行复杂系统开发的语言。下面我们将深入探讨Python中的面向对象编程基础。 一、类与对象 1. **类(Class)**:类是面向对象编程的基础,...
Matlab面向对象编程是一种在MATLAB环境下通过面向对象的方法来组织和构造程序代码的技术。面向对象编程(OOP)的基本特征包括抽象、封装、继承和多态。以下是根据给定的文件信息,对这些知识点的详细解释: 1. 抽象:...
类(Class)是面向对象编程的基本单元,它是一个蓝图,描述了创建对象时共有的属性和方法。对象(Object)是类的实例,具有类定义的属性和方法的副本。类的属性和方法称为成员(Members)。 2. 封装 封装...
《C++面向对象程序设计》是C++编程领域的一本经典教材,由清华大学出版社出版,龚晓庆、付丽娜等多位专家共同编著。这本书深入浅出地讲解了C++语言的核心概念,特别是面向对象编程(OOP)的思想和技术。第二版在第一...
1. **对象和类**:对象是面向对象编程的基本单元,它包含了数据(属性)和操作这些数据的方法(行为)。类是创建对象的模板或蓝图,定义了一组具有相同特征和行为的对象的通用描述。 2. **封装**:封装是面向对象的...
本项目是基于C++的面向对象程序设计实现,旨在教授学生如何运用面向对象编程思想来构建实际的应用程序。** **一、面向对象编程基础** 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,其核心思想...
C++是一种强大的、通用的编程语言,以其支持面向对象编程(OOP)而闻名。面向对象编程是一种编程范式,它以对象为中心,强调数据和操作数据的方法的封装。本资料集是关于“C++面向对象程序设计”的课后习题答案,...