1 Guaranteed initialization with the constructor
自动调用构造函数,给类中属性自动赋值。
2 方法重载 Method overloading
方法重载主要是根据方法中参数的不同或者返回值的不同的几个同名方法。
2.1 Distinguishing overloaded methods
2.2 Overloading with primitives
匹配采用自动匹配的方式,就近原则。char有点不同,如果找不到匹配的,就采用int,如果没有就找long、float、double。
2.3 Overloading on return values
3 Default constructors
当定义了构造函数,默认的构造函数将消失。
4 The this keyword
Banana a = new Banana(),
b = new Banana();
a.peel(1);
b.peel(2);
// 会自动解释为:
Banana.peel(a, 1);
Banana.peel(b, 2);
this关键字用在非static方法的内部,代表对象的引用。必须注意不要滥用。
this关键字一般用于返回自身和将自身传递给外部方法。
4.1 Calling constructors from constructors
Flower(String s, int petals) 我们可以采用this关键字调用构造函数this(petals),但不可以再写this(s),只能写this.s = s;
4.2 The meaning of static
静态方法就想全局方法,不面向对象。对于静态方法我们无需传递消息给对象,所以也就没有this的使用了。
5 Cleanup: finalization and garbage collection
垃圾回收器只负责回收使用new关键字创建的对象,对于不使用new关键字创建的对象,Java提供了finalize方法。
5.1 What is finalize() for?
一般情况下,不需要使用。
5.2 You must perform cleanup
在C++中,必须执行销毁,但在java中,即使使用了垃圾回收器或finalize也不能保证内存已经回收。
5.3 The termination condition
super.finalize(); // Call the base-class version
System.gc();
5.4 How a garbage collector works
了解了一些垃圾回收的方式,优点地方没有完全看明白。
6 Member initialization
类中的成员会自动初始化,但在过程中定义的变量,必须显示初始化。
6.1 Specifying initialization
7 Constructor initialization
7.1 Order of initialization
首先初始化类中的成员,然后再初始化类中的构造函数。
7.2 static data initialization
静态成员的初始化只有在第一次创建对象的时候才执行,以后将不再被重新初始化。
首先是初始化静态成员,然后是非静态成员,最后是构造函数。
7.3 Explicit static initialization
static Cup cup1;
static Cup cup2;
static {
cup1 = new Cup(1);
cup2 = new Cup(2);
}
7.4 Non-static instance initialization
Mug mug1;
Mug mug2;
{
mug1 = new Mug(1);
mug2 = new Mug(2);
print("mug1 & mug2 initialized");
}
8 Array initialization
8.1 Variable argument lists
9 Enumerated types
for(Spiciness s : Spiciness.values())
System.out.println(s + ", ordinal " + s.ordinal());
10 Summary
主要介绍初始化方面的信息。另外介绍了垃圾回收器。
分享到:
相关推荐
6: Initialization & Cleanup 7: Function Overloading & Default Arguments 8: Constants 9: Inline Functions 10: Name Control 11: References & the Copy-Constructor 12: Operator Overloading 13: Dynamic ...
TIJ4 Initialization Cleanup
第5章“Initialization & Cleanup”(初始化与清理)涉及对象的构造函数和析构函数,以及资源清理的重要性。第6章“Coupling and Cohesion”(耦合与内聚)则探讨了设计模块化程序的指导原则,这是编写可维护代码的...
5. **第 5 章:Initialization & Cleanup** —— 阐述了对象初始化和清理的相关知识,包括构造函数、析构函数等。 6. **第 6 章:Coupling and Cohesion** —— 分析了模块之间的耦合性和内聚性,解释了良好的软件...
初始化与清理 (Initialization & Cleanup) - **第5章:初始化与清理**(151页)讨论了对象生命周期管理,包括构造函数、析构函数等。 #### 6. 耦合与内聚 (Coupling and Cohesion) - **第6章:耦合与内聚**(215页...
- **第五章:初始化与清理**(Initialization & Cleanup):本章着重于C#中的对象生命周期管理,包括如何初始化对象以及在对象不再需要时如何进行适当的清理工作,这对于避免内存泄漏等问题至关重要。 - **第六章:...
Initialization & Cleanup (初始化与清理) - **初始化过程**:对象创建后如何进行初始化。 - **析构函数**:虽然Java没有析构函数,但可以通过finalizer实现类似的功能。 - **静态初始化块与非静态初始化块**:分别...
初始化与清理 (Initialization & Cleanup) 本章详细介绍了对象的初始化和清理过程: - **构造函数与析构函数**:解释了构造函数和析构函数的作用及使用方法。 - **内存管理**:讨论了内存分配和释放的重要性,以及...
它可能会包含函数声明,如`void ucln_cmn_init()`(初始化清理机制)和`void ucln_cmn_cleanup()`(执行清理操作)。此外,可能还会有枚举类型定义来标识不同类型的清理事件,或者是宏定义以控制调试信息的开关。 2...
int x __attribute__((cleanup(cleanup))) = 42; // ... return 0; } ``` 虽然这些方法可以实现类似`defer`的功能,但它们并没有内置的异常处理支持。在C++中,可以使用RAII(Resource Acquisition Is ...
5. **Initialization and Cleanup**:初始化和清理函数,用于加载和卸载转换模块。 6. **Testing and Debugging**:可能包含一些测试用例和调试辅助函数,确保转换的准确性和兼容性。 在实际应用中,这样的转换库...
C语言函数大全,CHM,中文版。 C语言各种函数具体描述,有例证. 函数名: bar 功 能: 画一个二维条形图 用 法: void far bar(int left, int top, int right, int .../* clean up */ closegraph(); return 0; }
### Initialization and Cleanup (初始化与清理) #### Initialization (初始化) - **构造函数**:使用`__init__`方法完成对象创建时的初始化工作。 - **属性设置**:在构造函数中为对象设置初始状态。 - **其他初始...