Java利用接口(interface)扩展了抽象方法的概念。经常需要指定一组抽象方法来定义一个对象的某种行为,而且根本不希望做任何实现。在Java中,这就称为一个接口。接口定义了类所必须实现(implement)的一组方法。如果Java中的一个类实现...[继续阅读]
海量资源,尽在掌握
Java利用接口(interface)扩展了抽象方法的概念。经常需要指定一组抽象方法来定义一个对象的某种行为,而且根本不希望做任何实现。在Java中,这就称为一个接口。接口定义了类所必须实现(implement)的一组方法。如果Java中的一个类实现...[继续阅读]
包(package)是一组相关的类和接口。在第三章中,我们曾经讨论了Java如何使用包名从而在编译和运行时找到类。从这个意义上说,包有些类似于库;它们对各组类进行组织和管理。不过,包所提供的绝不仅仅是源代码级的组织。它们还为其...[继续阅读]
面向对象设计的一个最为重要的方面就是数据隐藏(datahiding),或封装(encapsulation)。在某些方面,通过将对象看作为一个“黑盒”,并忽略其实现的细节,这样利用可以轻松重用的组件就能够编写出更为强大、更为简单的代码。基本访问修...[继续阅读]
在第四章的最后,我们曾提到,数组在Java的类层次体系结构中也有一席之地,但是并未提供任何详细说明。既然已经讨论了Java的面向对象方面,下面就可以提供一个完整的描述了。数组类位于Object类之下,并且有着并行的Java类层次体系结...[继续阅读]
Java1.1为在语言中增加了大量的“迷药”,它们称为内部类(innerclass)。简单地说,Java中的类可以在任何范围级别上声明。也就是说,可以在任何大括号对之间声明一个类(即,只要能够放置其他的Java语句,就可以声明一个类),而且其可见性仅...[继续阅读]
java.lang.Object是所有对象的祖先;这是一个“始发”类,所有其他类归根结底都由此派生。因此在Object类中定义的方法就非常重要,因为贯穿Java始终,它们出现在每个类的每个实例中。据最后统计,在Object中有9个公共方法。其中5个是各种...[继续阅读]
要衡量一种面向对象语言的复杂性,其类结构的抽象程度可谓是一个不错的标准。我们知道,Java中每个对象都是一个类的实例,但是究竟什么是类呢?在诸如C++这样的语言中,对象由类表述并进行实例化,而类实际上只是编译器凭空所造的...[继续阅读]
这一节中,我们将对Java反射API(JavaReflectionAPI)加以介绍,这些API由java.lang.reflect包中的类所支持。如其名所示,反射(reflection)是一个类或对象自我检查的一种能力。反射使得Java代码可以查看一个对象(更确切地说,是查看对象的类),并确定...[继续阅读]
从概念上说,线程(thread)是程序中的一个控制流。线程有些类似于我们熟悉的进程(process)概念,其区别在于同一个应用中的多个线程会共享许多相同的状态,特别是它们运行于同一个地址空间。这与一个高尔夫球道并无不同,许多高尔夫...[继续阅读]
applet是内嵌式的Java应用,它们可以基于命令自行启动和停止。applet可能会要求启动和停止任意次。支持Java的Web浏览器通常会在显示applet时将其启动,而且当用户切换到另一个页面或者(从理论上说)用户滚动applet以至于超出可视区之外...[继续阅读]