- 浏览: 309333 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
有时,对JAVA实例化的顺序会忘记,现在记录一下。
1.调用<init>()方法
2.实现对实例变量的初始
3.构造方法体的代码
对于第一步,如果是是this的,这里就只有this与构造方法体的代码的,对于实例变量的初始,由调用的那个构造函数去实现了。
对于第一步不是this情况,则第一个为super的了(可以不写出来),后面的的第二步与第三步都是相同的。
用一个例子来记忆一下。
class father { private int i = 12 ; private String fatherstr = "F" ; { System.out.println("fffffffffffffffff") ; } public father(){ i = 22 ; g() ; System.out.println("father") ; } public void g(){ System.out.println("i="+i) ; } } class son extends father{ private int j = 13 ; private String sonStr = "s" ; { System.out.println("sssssssssssssss") ; } public son(){ g() ; j = 33 ; g() ; System.out.println("son") ; } public void g(){ System.out.println("j="+j) ; } } public class TestObject{ public static void main(String arg[]){ son s = new son() ; } }
执行结果为:
看看JVM是怎样去处里这个问题:
father类:
son类:
用son类来分析一下(father一样的),son()的构造方法中,编号为1的那个是调用father的构造方法;
7中是初始化son的实例变量
13中是初始化了sonStr
还有19后面执行了那个实例块
当初始化结束后,运行g()的调用,这个是从25号开始。。。。
发表评论
-
推荐!国外程序员整理的Java资源大全
2015-12-15 10:14 670本文由 ImportNew - 唐 ... -
jsoup select 选择器
2015-12-09 14:03 985问题 采用CSS或类似jquery 选择器(selecto ... -
xmlbeans问题(深刻)
2015-11-12 23:08 1192运行scomp,路径永远是一个问题; 1.Program ... -
spring配置一个简单的数据连接池(dbcp)
2015-11-12 14:16 8251.文件结构 2.包结构 3.spring.x ... -
java泛型之通配符的使用
2015-11-12 12:15 713转自: http://blog.csdn.net/lone ... -
Ubuntu下安装JDK
2015-05-02 18:42 560安装JDK: 1.下载 http://www ... -
Delphi开发DLL,Java调用DLL
2014-01-01 16:40 1327用一个小例子来示范一下,不写文件字。 第一步 第二步, ... -
如何在Java中调用DLL方法<转>
2013-12-30 13:36 723Java语言本 ... -
Java对存储过程的调用方法
2013-05-14 09:29 800//一:Java如何实现对存储过程的调用: // A ... -
谈谈对象和XML文件的转换 <转>
2013-04-12 14:18 1052很多时候,我们开发 ... -
详解Java解析XML的四种方法<转>
2013-04-12 14:01 978XML现在已经成为一种通用的数据交换格式,它的平台无关性, ... -
URLClassLoader例子
2012-11-22 15:22 1407学着写一个servlet服务器,里面对servlet的处理就得 ... -
关于JAVA配置文件的小记录
2012-11-20 15:16 1009配置文件一般会为编写编程提供方便与灵活的特点,最近看tomca ... -
关于Channel学习
2012-10-07 15:12 1122java的新I/O流,有点意思,看看相关的类,其实就这几个就能 ... -
Buffer类与ByteBuffer类(来自JDK)
2012-10-07 10:10 12441. 类 Buffer(public abst ... -
运行控制台命令(java)
2012-10-07 08:30 2918有时候我们想用java去调用系统的命令实现一些功能,这个功能 ... -
匿名内部类是怎么回事
2012-10-05 13:12 1099匿名内部类真的很神秘的,不过,这种类就喜欢做一些神秘的东西。想 ... -
内部类链接到外部类
2012-10-05 10:45 739java中的内部类可以无条件地使用外部类的资源,这是怎么一回事 ... -
关于static的一些思考(java)
2012-10-04 19:07 1674当有时候回忆JAVA的基础的时候,有些东西一下子会变 ... -
JVM指令集
2012-10-04 15:13 975指令码 助记符 功能描述 ...
相关推荐
总之,理解并有效地使用静态和对象初始化块是Java开发中的关键技能,它们可以帮助我们更好地控制类和对象的初始化过程,确保代码的高效性和正确性。在实际编程中,我们应该根据需求谨慎选择合适的初始化策略,以优化...
### Java中对象创建、初始化与引用详解 #### 一、Java对象、引用及创建过程 在Java中,对象是程序的基本单位,它包含了属性(成员变量)和行为(方法)。对象是由类创建出来的实例,而类则是一组具有相同属性和...
Java开发基础:初识Java Java,一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)在...在"初始Java第一讲"的PPT中,通常会涵盖这些基础内容,帮助初学者建立对Java编程的全面认识。
Java中的对象初始化流程是编程实践中一个非常重要的概念,它涉及到类加载、静态初始化块、实例初始化块、构造器等多个方面。下面将详细解释这个过程。 首先,对象初始化流程的起点是程序的入口点,即`main`方法。当...
"Java 对象初始化顺序学习指南" 在学习 Java 编程语言时,对象初始化顺序是一个非常重要的知识点,但是许多学生却感到困惑和困难。事实上,Java 对象初始化顺序并不难理解,只需要掌握“礼让”原则和 JVM 的执行...
Java 对象初始化过程详解 Java 对象的初始化过程是通过 new 指令开始的,首先会根据指令参数在常量池中定位到一个类的符号引用。如果没有定位到这个符号引用,那么这个类就没有被加载,就需要 JVM 进行类的加载。...
Java 对象初始化的多维度分析 Java 对象初始化是一个基础概念,但是很多人不知道它的内涵,特别是在类继承时。下面,我们从三个维度来分析 Java 对象的初始化过程。 一、从程序运行维度分析 在 Java 中,对象初始...
在Java编程语言中,类和对象的初始化是一个关键的概念,对于理解和编写健壮的程序至关重要。这个"java代码的初始化顺序demo"显然旨在演示这一过程。让我们深入探讨Java中的初始化顺序及其背后的机制。 1. **类加载...
Java面向对象程序设计是计算机编程领域中的核心主题,它基于面向对象编程(OOP)理念,使得代码更具有模块化、可复用性和易于维护的特点。以下是对标题和描述中涉及的知识点的详细阐述: 1. **第1章:Java入门** -...
Java对象的创建不仅仅涉及到简单的`new`关键字操作,而是包含了类加载检查、内存分配、对象初始化等多个步骤。同时,对象在内存中的布局也非常重要,它不仅决定了对象的存储方式,还直接影响到程序的性能表现。通过...
这里提供的“二初始化及方法.doc”可能包含了一篇关于这个主题的详细分析,建议阅读以获取深入理解。同时,"second"这个名字可能是另一个文档或资源,它可能与类的初始化或方法的实现有关,同样值得我们去探索和学习...
下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: 构造方法是类的特殊方法,用于初始化对象的状态。调用构造方法的方式有很多...
Java是一种广泛使用的面向对象编程语言,它封装了数据和操作数据的行为,并支持继承和多态特性,使得Java程序可以高度模块化和复用。在Java中,面向对象编程(OOP)的三大基本特性是封装、继承和多态。 封装是面向...
### JSON转对象数组与对象数组转JSON(Java) 在Java编程语言中,处理...以上就是关于Java中JSON字符串与对象数组之间相互转换的基本流程和技术要点。通过这种方式,开发者可以更加灵活地处理各种复杂的JSON数据结构。
Java数组声明、创建、初始化 Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的...
在Java编程语言中,程序初始化的顺序是一个关键概念,它涉及到类加载、对象创建以及执行流程的安排。了解这些顺序对于编写高效、无错误的代码至关重要。以下是对Java程序初始化顺序的详细说明: 1. **类加载阶段**...
在Java编程语言中,对象初始化是一个关键的概念,它涉及到类加载、对象实例化以及成员变量的赋值。本文将深入探讨Java中对象初始化的顺序,帮助开发者理解这一过程的细节。 首先,Java类的加载过程分为三个阶段:...
java对象初始化问题