最近在看《Thinking in Java》,看到一个关于内部类的例子,详细如下:
class Egg2 {
protected class Yolk {
public Yolk() {
System.out.println("Egg2.Yolk()");
}
public void f() {
System.out.println("Egg2.Yolk.f()");
}
}
private Yolk y = new Yolk();
public Egg2() {
System.out.println("New Egg2()");
}
public void insertYolk(Yolk yy) {
y = yy;
}
public void g() {
y.f();
}
}
public class BigEgg2 extends Egg2 {
public class Yolk extends Egg2.Yolk {
public Yolk() {
System.out.println("BigEgg2.Yolk()");
}
public void f() {
System.out.println("BigEgg2.Yolk.f()");
}
}
public BigEgg2() {
insertYolk(new Yolk());
}
public static void main(String[] args) {
Egg2 e2 = new BigEgg2();
e2.g();
}
}
/*
Egg2.Yolk()
New Egg2()
Egg2.Yolk()
BigEgg2.Yolk()
BigEgg2.Yolk.f()
*/
通过这个例子,很好的复习了关于类初始化的过程,下面对其调用顺序做简要标注:
简要说明:
0、程序入口,初始化BigEgg2;
1、初始化BigEgg2的父类Egg2;
2、初始化类Egg2中的实例变量Yolk;
3、执行Egg2.Yolk的构造函数;
4、执行Egg2的构造函数;
5、返回并调用BigEgg2中的构造函数;
6、创建BigEgg2.Yolk的实例;
7、初始化BigEgg2.Yolk的父类Egg2.Yolk;
8、执行Egg2.Yolk的构造函数;
9、执行BigEgg2.Yolk的构造函数;
10、执行insertYokl函数,做对应的处理;
11、执行e2.g函数;
12、执行y.f函数;
13、执行f函数(覆盖了父类中的该方法)内容;
- 大小: 73.2 KB
分享到:
相关推荐
《Java编程思想》是Java程序员领域的一本经典之作,由Bruce Eckel撰写,以其深入浅出的讲解方式和丰富的实例闻名。这本书对于想要深入理解Java语言的人来说,是一份宝贵的资源。"Thinking in Java",直译为“思考...
《Java编程思想》是 Bruce Eckel 的经典著作,第四版更是深入浅出地介绍了Java语言的核心概念和技术。这个压缩包包含的源代码是书中的示例程序,它们旨在帮助读者理解书中阐述的各种编程原理和实践。通过分析这些源...
实例化是将类生成多个对象的过程,通过 new 运算符可以为一个类生成多个不同的对象,这些对象占用不同的内存空间,因此改变其中一个对象的状态不会影响到其他对象的状态。 六、继承和多态的关系 继承和多态是 Java...
根据提供的文件信息,我们可以深入探讨《Java编程思想》这一主题中的关键知识点,这些知识点主要集中在类、对象、封装性、继承、多态等核心概念上。 ### Java编程思想概述 《Java编程思想》这本书深入浅出地介绍了...
这个包来自于《Java编程思想》一书的配套资源,它包含了一些实用工具类,如集合操作、类型转换等,旨在帮助读者更好地理解和应用Java中的设计模式和编程技巧。学习这个包可以帮助你提高代码的效率和可维护性。 其次...
### Java编程思想(完整版) #### 第1章 对象入门 **1.1 抽象的进步** 抽象在软件工程中扮演着极其重要的角色。通过抽象,开发者能够关注于概念的本质特征,而忽略掉不必要的细节。这有助于降低系统的复杂度,使得...
《Java编程思想》是Java开发领域的一本经典著作,作者是Bruce Eckel。这本书深入浅出地介绍了Java语言的核心概念和技术,对初学者和有经验的开发者都极具价值。书中的内容涵盖了Java语言的各个方面,从基本语法到...
《Think in Java 4 code.rar》中应包含了书中各个章节的源代码示例,这些代码是学习Java编程思想的关键实践部分,通过阅读和运行这些代码,读者可以更直观地理解书中的理论概念。而《Thinking In Java 练习题答案 第...
《JAVA编程思想习题及答案》是一份针对Java编程学习者的宝贵资源,它涵盖了Java语言的核心概念、设计模式以及实际编程技巧。这份资料通过习题的形式帮助学习者深入理解和掌握Java编程思想,同时提供了解答,使学习...
本书《Java编程思想(中文第三版)》是Bruce Eckel的著作,它以其清晰的论述和丰富的实例,帮助读者理解和掌握Java的核心概念。 1. **面向对象编程**:Java是一种面向对象的语言,它强调类和对象的概念。在书中,你...
### Java编程思想读书笔记 #### 一、Java与C++的区别及内存管理 在学习Java的过程中,我们常常会拿它与C++进行比较。这两门语言虽然有着相似之处,但也有许多不同点。 1. **内存管理:** - C++提供了更为底层的...
《Java编程思想第五章练习与习题》章节涵盖了Java编程中的关键概念,这些概念对于深入理解和熟练运用Java语言至关重要。本章的练习旨在巩固和拓展读者在类、对象、继承、多态等核心主题上的理解。以下是根据描述和...
11. **设计模式**:虽然《Java编程思想》并未直接包含所有设计模式,但书中的一些实例和练习题可能会引导读者接触单例模式、工厂模式、装饰器模式等经典设计模式。 以上是根据标题和描述所涵盖的主要Java编程知识点...
在Java编程领域,掌握《Java编程思想》是深入理解这门语言的重要步骤。这本书由Bruce Eckel撰写,被誉为Java学习者的经典之作。本资源包含了该书第四版的完整练习题答案,旨在帮助读者巩固和深化对书中理论的理解,...
提供的"java编程思想 答案+源代码.rar"压缩包包含了本书的解答和源代码,这将极大地帮助读者理解和实践书中的示例。 首先,我们来详细探讨一下Java编程的基础知识点: 1. **Java简介**:Java是一种面向对象的、跨...
### JAVA面向对象编程思想 #### 一、面向对象的基本概念 面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它通过模拟现实世界中的对象及其交互方式来构建软件系统。Java作为一种典型的面向...
尽管提供的信息较为有限,主要集中在对“Java编程思想所有版本免费下载”的提及,但我们可以从中扩展出与Java编程相关的多个重要知识点。以下是对这些知识点的详细介绍: ### Java编程语言简介 Java是一种广泛使用...
而"Java编程思想_第4版—习题答案"这个压缩包则为读者提供了书中的习题解答,是学习过程中不可或缺的辅助资料。 1. 面向对象编程:Java是一种面向对象的语言,它强调将数据和操作数据的方法封装在一起,形成对象。...
这份PDF文件作为《Java编程思想》的习题解答,提供了丰富的实例,可以帮助读者深化对Java语言的理解,进一步提高编程能力。通过对照书本和答案,你可以独立完成练习,也可以查找疑惑,这对于学习和进阶Java编程都是...
总的来说,《Java编程思想》第四版结合习题答案,为学习者提供了一个全面且深入的学习资源,无论你是初学者还是有经验的开发者,都能从中受益匪浅。通过深入学习和实践,你将能够掌握Java编程的核心概念和技术,为你...