class Glyph {
void draw() { print("Glyph.draw()"); }
Glyph() {
print("Glyph() before draw()");
draw();
print("Glyph() after draw()");
}
}
class RoundGlyph extends Glyph {
private int radius = 1;
RoundGlyph(int r) {
radius = r;
print("RoundGlyph.RoundGlyph(), radius = " + radius);
}
void draw() {
print("RoundGlyph.draw(), radius = " + radius);
}
}
class RectangularGlyph extends Glyph {
private int length = 2;
private int width = 4;
RectangularGlyph(int l, int w) {
length = l;
width = w;
print("RectangularGlyph.RectangularGlyph(), length = "
+ length + ", width = " + width);
}
void draw() {
print("RectangularGlyph.draw(), length = " + length
+ ", width = " + width);
}
}
public class PolyConstructors15 {
public static void main(String[] args) {
new RoundGlyph(5);
new RectangularGlyph(3, 6);
}
}
output:
Glyph() before draw()
RoundGlyph.draw(), radius = 0
Glyph() after draw()
RoundGlyph.RoundGlyph(), radius = 5
Glyph() before draw()
RectangularGlyph.draw(), length = 0, width = 0
Glyph() after draw()
RectangularGlyph.RectangularGlyph(), length = 3, width = 6
注意初始化顺序:
1、在任何事情发生之前,将分配给对象的存储空间初始化成二进制的0。
2、调用父类构造器,调用被子类覆盖的方法,由于子类构造器尚未执行,此时子类中的radius仍然是0.
3、按照声明的顺序调用成员的初始化方法。
4、调用子类的构造器。
分享到:
相关推荐
研讨课 Hands-on Java研讨课CD Thinking in Objects研讨课 Thinking in Enterprise Java Thinking in Patterns(with Java) Thinking in Patterns研讨课 设计咨询与复审 附录B 资源 软件 编辑器与IDE 书籍 分析与设计...
《Thinking in Java》是Bruce Eckel的经典编程教材,它深入浅出地介绍了Java语言的核心概念和技术。这本书以其详尽的解释、丰富的示例和实践性强的习题深受程序员喜爱。"Thinking in Java 习题答案"是配套的解答集,...
- **构造器与析构函数**:对象创建和销毁的过程,了解构造器的作用和用法。 - **异常处理**:异常的分类,try-catch-finally语句块,自定义异常。 - **集合框架**:ArrayList、LinkedList、HashSet、HashMap等容器...
### 《Thinking in Java》核心知识点解析 #### 一、书籍概述 《Thinking in Java》是一本由布鲁斯·埃克尔(Bruce Eckel)编写的经典Java编程指南。本书首次出版于1998年,并迅速成为学习Java语言的最佳教程之一。...
- **构造器**:探讨构造器的作用及如何自定义构造器。 - **初始化块**:介绍静态初始化块和实例初始化块的区别及应用场景。 - **对象清理**:讨论Java中对象生命周期的管理,包括垃圾回收机制的基本原理。 #### 第5...
《Thinking in Java》是 Bruce Eckel 编著的一本经典的Java编程教材,它深入浅出地阐述了Java语言的核心概念和编程技术。翁凯教授在浙江大学的Java语言课程中,结合这本书的内容进行了讲解,并提供了配套的PPT和源...
《Thinking in Java》是Bruce Eckel的经典之作,第二版对初学者和经验丰富的开发者都具有极高的价值。这本书深入浅出地介绍了Java编程语言的核心概念和技术,帮助读者建立起扎实的面向对象编程思想。 1. 面向对象...
### Thinking in Java – 第四版解决方案指南知识点概览 #### 一、背景介绍 《Thinking in Java》(TiJ)是一本经典的Java编程语言学习教材,由Bruce Eckel撰写,首次出版于1998年,并随着Java的发展不断更新版本。...
《Thinking in Java》是Bruce Eckel的经典编程教材,第三版主要涵盖了Java编程语言的核心概念和技术。这本书深入浅出地介绍了面向对象编程的思想,是初学者和有经验的程序员理解Java的宝贵资源。以下是对该书内容的...
《Thinking in Java》是Bruce Eckel的经典之作,第三版中文版为广大的中文读者提供了学习Java编程语言的宝贵资源。这本书深入浅出地讲解了Java的核心概念和技术,旨在帮助读者理解面向对象编程思想并掌握Java编程...
《Thinking in Java》是Bruce Eckel的经典之作,它是一本深度探索Java编程语言的书籍,深受全球程序员喜爱。这本书不仅适合初学者,也适合有一定经验的开发者深入理解Java的精髓。书中涵盖了Java语言的各个方面,从...
### 《Thinking in Java(中文第四版)》关键知识点概览 #### 一、书籍概述 - **作者**: Bruce Eckel - **书籍定位**: 适用于初学者至中高级水平的Java开发者 - **特点**: 结合实际示例,深入浅出地讲解Java的核心...
根据提供的文件信息,我们可以将《Thinking in Java》第四版中的主要内容和知识点进行详细的解析与总结。本书由Bruce Eckel编写,是学习Java编程语言的经典教材之一。以下是对书中的几个关键章节及其涵盖的重要知识...
《Thinking in Java》是Bruce Eckel的经典编程教材,第四版更是深受全球程序员喜爱。这本书深入浅出地介绍了Java编程语言,不仅适合初学者,也对有经验的开发者提供了丰富的知识。下面,我们将从多个方面详细解析...
了解如何定义类,包括属性(fields)和方法(methods),以及构造器(constructors)的使用,是学习Java的基础。 2. **封装**:封装是面向对象的三大特性之一,它隐藏了对象内部的实现细节,只对外提供公共接口。...
《Thinking in Java》是Java编程领域的一本经典之作,由Bruce Eckel撰写,第四版更是集大成者,被广大读者誉为学习Java的必备书籍。本书不仅深入浅出地讲解了Java语言的核心概念,还提供了丰富的实战案例,使得理论...
### Java编程思想——《Thinking in Java》核心知识点梳理 #### 一、前言与学习目标 - **前言**:本书旨在帮助读者深入理解Java语言的设计理念及其在实际开发中的应用。 - **学习目标**: - 掌握Java基础知识与...
3. **构造器**:介绍了构造器的作用和使用,包括默认构造器和自定义构造器。 4. **方法**:详细讨论了方法的定义、参数传递、重载和重写。 5. **继承与多态**:讲解了如何通过继承扩展类的功能,以及多态带来的...
《Thinking In Java》详细讲解了类、对象、继承、多态和封装等核心概念。此外,还涵盖了接口、抽象类、访问修饰符以及构造器等与面向对象编程密切相关的知识点。 3. **集合框架**:Java集合框架是处理对象集合的...