Java2高级编程:类与对象的图形表示及核心概念

需积分: 18 1 下载量 39 浏览量 更新于2024-08-18 收藏 666KB PPT 举报
"本文主要介绍了Java2平台标准版(J2SE)中的高级编程概念,特别是关于类和对象的图形表示以及其他表示方法。讨论了访问控制符、静态属性和方法、抽象类与抽象方法、最终类和方法以及继承等核心概念。通过具体的类和对象示例,如Customer和Account,展示了如何通过接口方法安全地操作对象。同时,提到了UML(统一建模语言)在表示类和对象结构中的应用。" 在Java中,类和对象的图形表示通常是通过UML(Unified Modeling Language)进行的,这是一种标准化的建模语言,用于可视化软件系统的设计。在例子中,我们看到了`Customer`和`Account`类的表示,以及它们之间的交互,如`deposit`和`draw`操作。此外,还有具体对象的实例,如`Jack`和`Jill`作为`Customer`对象,以及一个`Account`对象,其`balance`为100,标识为`SV129`。 访问控制符在Java中扮演着重要角色,它们决定了类、属性和方法的可访问性。`public`允许任何类访问,`缺省`(包私有)仅限于同一包内的类,`private`仅限于本类,`protected`则允许本包内和所有子类访问,而`private protected`是Java特定包的子类独有的。 静态属性和方法属于类本身,而非类的实例。静态属性和方法可以在类未实例化时使用,它们不依赖于对象的存在。例如,`static`关键字用于声明静态变量和方法,而`static`初始化器用于在类加载时初始化静态属性。 抽象类和抽象方法用于描述抽象概念,它们定义了共同的接口,但不提供具体实现。抽象类不能被实例化,且包含抽象方法的类必须声明为抽象类。例如,`PhoneCard`和`Shape`类展示了抽象类的用法,它们定义了共同的行为,但具体的实现由子类完成。 `final`关键字用于声明不可变的类、属性或方法。`final class`不能有子类,`final`属性是常量,`final`方法不能被覆盖。`finalize()`方法是一个特殊方法,当对象即将被垃圾收集时调用,用于执行清理操作。需要注意的是,`final`与`abstract`不能同时使用,因为抽象方法必须被重写,这与`final`的不可覆盖特性相冲突。 在继承的例子中,我们看到`PhoneCard`类可以派生出各种类型的电话卡,如`200卡`、`IP卡`等,同样,`Shape`类可以派生出不同的几何形状。这种继承关系允许代码重用并实现多态性。 通过接口方法来操作`Account`,如`deposit`和`draw`,确保了安全性,因为接口方法只公开必要的操作,隐藏了内部实现细节,符合面向对象设计原则。