初始化与清理
随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一,初始化与清理正是涉及安全的两个问题。
许多c程序的错误都源于程序员忘记初始化变量。清理也是一个特殊问题,当使用完一个元素时,它对你也就不会有什么影响了,所以很容易把它忘记。这样一来,这个元素占有的资源就会一直得不到释放,结果是资源(尤其是内存)用尽。
Java中采用了构造器,这是一个在创建对象时被自动调用的特殊方法,并额外提供了“垃圾回收器”。对于不再使用的内存资源,垃圾回收器能自动将其释放。
用构造器确保初始化
可以假想为编写的每个类都定义一个initialize()
方法。
该方法的名称题型你在使用其对象之前,应首先调用initialize()
在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。创建对象时,如果其类具有构造器,Java就会在用户有能力操作对象之前自动调用相应的构造器,从而保证了初始化的进行。
如何命名
构造器采用与类相同的名称。
class Rock {
Rock() {
System.out.print("Rock ");
}
}
public class SimpleConstructor {
public static void main(String[] args) {
for(int i = 0; i < 10; i++){
new Rock();
}
}
}
输出:
Rock Rock Rock Rock Rock Rock Rock Rock Rock Rock
现在,在创建对象时:
new Rock();
将会为对象分配存储空间,并调用相应构造器。
不接受任何参数的构造器叫做默认构造器。和其他方法一样,构造器也能带有形式参数,以便指定如何创建对象。
class Rock2 {
Rock2(int i) {
System.out.print("Rock " + i + " ");
}
}
public class SimpleConstructor {
public static void main(String[] args) {
for(int i = 0; i < 6; i++){
new Rock2(i);
}
}
}
输出:
Rock 0 Rock 1 Rock 2 Rock 3 Rock 4 Rock 5
有了构造器形式参数,就可以在初始化对象时提供实际参数。例如假设类Tree有一个构造器,它接受一个整型变量来表示数的高度
Tree t = new Tree(12);
如果Tree(int)
是Tree
类中唯一的构造器,那么编译器将不会允许你以其他任何方式创建Tree
对象。
构造器有助于减少错误,并且使代码更易于阅读。在Java中,“初始化”和“创建”捆绑在一起,两者不能分离
构造器是一种特殊类型的方法,因为它没有返同值。
这与返回值为空(void)明显不同。对于空返回值,尽管方法本身不会自动返回什么,但仍可选择让它返回别的东西。
构造器则不会返回任何东西,你别无选择(new表达式确实返回了对新建对象的引用,但构造器本身并没有任何返回值)。假如构造器具有返回值,并且允许人们自行选择返回类型,那么势必得让编译器知道该如何处理此返回值。
分享到:
相关推荐
### Java编程思想读书笔记 #### 一、Java与C++的区别及内存管理 在学习Java的过程中,我们常常会拿它与C++进行比较。这两门语言虽然有着相似之处,但也有许多不同点。 1. **内存管理:** - C++提供了更为底层的...
在讨论Java编程思想学习笔记时,首先需要了解的是Java语言的平台无关性,而这一特性正是通过Java虚拟机(JVM)得以实现的。JVM作为Java程序设计的关键组成部分,对于Java开发人员来说是必须掌握的基础知识。在该学习...
java编程思想的笔记。是别人的学习笔记。
读书笔记:java编程思想学习
### JAVA编程思想笔记 #### 一、编程语言与Java特性 1. **编程语言类别**: - **机器语言**:直接与硬件交互的语言,由0和1组成。 - **汇编语言**:接近机器语言,使用助记符表示指令。 - **高级语言**:更接近...
JAVA学习笔记是面向对象编程语言的学习笔记,涵盖了JAVA的基本概念、面向对象编程思想、类和对象的概念、实例变量和局部变量的区别、方法的定义和调用、类型转换、精度问题、移位问题、switch语句的使用等内容。...
在本压缩包“bjy学习笔记-阿里巴巴Java编码规范以及一些技术笔记”中,我们可以预见到包含的内容主要是关于Java编程语言的学习心得,特别是遵循阿里巴巴的Java编码规范的相关知识。这是一份宝贵的资源,对于Java...
以上只是Java编程思想笔记中的冰山一角,深入学习还包括网络编程、数据库连接、JVM内存模型、垃圾回收机制、并发编程高级话题、Spring框架等内容。这些知识点构成了Java开发者必备的基础知识体系,通过不断学习和...
《Java编程思想》是 Bruce Eckel 的经典之作,这本书深入浅出地介绍了Java语言的核心概念和技术,对于初学者和有经验的程序员来说都是极好的学习资源。以下是对书中的主要知识点进行的详细解读: 1. **Java语言基础...
Java JDK 6学习笔记是为Java初学者量身定制的一份宝贵资料,它涵盖了Java编程的基础概念、语法以及核心特性。这份PPT简体版旨在帮助读者快速掌握Java开发的基本技能,逐步成为一名合格的Java程序员。 Java JDK...
《Java编程思想笔记》是基于 Bruce Eckel 的经典著作 "Thinking in Java" 所做的学习总结,这本书深入浅出地介绍了Java语言的核心概念和技术。在本文中,我们将围绕Java编程的一些关键知识点进行深入探讨,包括但不...
再看第二本《java核心技术卷1-基础知识》,bruce eckel推荐的入门书籍。...第四本是bruce eckel本人编写的《java编程思想》。 第五本是《head first servlet &jsp》。 第六本是《head first ejb》。
从标题“java核心思想读书笔记”和描述可以看出,这份资料是作者结合《Java核心思想》一书和其他网络资源整理而成,适合不同水平的Java学习者,特别是初学者和有经验的工程师。 1. **Java的设计目标** - 不同于...
### 瑜琅Java学习笔记概览 瑜琅的Java学习笔记涵盖了Java的基础概念与核心特性,从起源到高级特性均有涉及。以下是对该学习笔记各部分的深入解析: ...希望这份笔记能够帮助更多的人更好地理解和掌握Java编程。
Java是一种广泛使用的面向对象编程语言,面向对象编程(OOP)是它的核心特性。面向对象设计的主要思想是将现实世界中的实体抽象为“对象”,这些对象具有特定的属性...在学习Java时,理解和掌握面向对象编程至关重要。