《21天学通Java(第7版)》—— 1.3 对象和类

简介: 面向对象编程是基于现实世界的情况进行建模的,对象由多种更小的对象构成。 然而,组合对象只是面向对象编程的一个方面,另一个重要特征是使用类。 类是用于创建对象的模板。使用同一个类创建的每个对象都具有相似的特性。

本节书摘来异步社区《21天学通Java(第7版)》一书中的第1章,第1.3节,作者: 【美】Rogers Cadenhead(罗格斯 卡登海德),更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 对象和类

面向对象编程是基于现实世界的情况进行建模的,对象由多种更小的对象构成。

然而,组合对象只是面向对象编程的一个方面,另一个重要特征是使用类。

类是用于创建对象的模板。使用同一个类创建的每个对象都具有相似的特性。

类包含一组特定对象的所有特性。使用面向对象语言编写程序时,并不定义各个对象,而是定义用于创建这些对象的类。

使用Java编写网络程序时,您可能创建HighSpeedModem类,它描述了所有计算机调制解调器的特征。这些设备都具备如下特征:

连接到计算机的以太网端口;
发送和接收信息;
与Internet服务器通信。
HighSpeedModem类是调制解调器的抽象概念模型。要在程序中有能够实际操纵的具体东西,必须有对象:必须使用HighSpeedModem类创建HighSpeedModem对象。使用类创建对象的过程叫做实例化(instantiation),这就是对象也被称作实例的原因所在。

在程序中,可使用HighSpeedModem类创建很多不同的HighSpeedModem对象,其中每个对象都可以有不同的特征,如:

有些充当无线Internet网关,有些不这样;
有些可用作网络路由器;
它们支持的连接速度各不相同。
虽然有这么多的不同,两个HighSpeedModem对象仍有足够多的共性,使其被视为相关的对象。

再来看一个例子:使用Java可以创建一个类来表示所有的命令按钮——可单击的矩形框,出现在窗口、对话框和程序图形用户界面的其他部分。

开发CommandButton类时,可以定义如下特征:

  • 显示在按钮上的文本;
  • 按钮的大小;
  • 按钮的外观,如是否有三维阴影效果。

CommandButton类还可定义按钮被单击时的行为。

定义CommandButton类后,就可以创建按钮实例了,即CommandButton对象。这些对象都具有类定义的按钮的基本特征,但根据需要,每个对象都可以有不同的外观和行为。

通过创建CommandButton类,可避免为程序中要使用的每个命令按钮重写这些代码。此外,如果需要的话,还可以重用该CommandButton类来创建不同类型的按钮,无论是在当前程序中还是在其他程序中。

编写Java程序时,您实际上设计和构建了一组类。程序运行时,将根据需要使用这些类来创建对象,并使用它们。作为Java程序员,您的任务是创建一组合适的类,以完成程序要完成的任务。

好在不必每次从头开始。Java语言包含Java类库,其中的类超过4000个,实现了您所需的大部分基本功能。这些类随诸如JDK等开发工具一起被安装。

当您谈论如何使用Java语言时,实际谈论的是如何使用该类库以及Java定义的标准关键字和运算符。

类库处理很多任务,如数学函数、文本处理、图形、用户交互以及网络功能等。使用这些类与使用您自己创建的Java类没有什么不同。

对于复杂的Java程序,可能需要创建一整套新类,这些类可组成独立的类库,以便在其他程序中使用。

重用是面向对象编程的基本优点之一。

在Java类库中,一个标准Java类是javax.swing包中的JButton,它提供了上述虚构CommandButton类的所有功能,还有众多其他的功能。在第9章,您将使用这个类来创建对象。

相关文章
|
19小时前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
1天前
|
缓存 Java 程序员
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
|
1天前
|
Java
从源码出发:JAVA中对象的比较
从源码出发:JAVA中对象的比较
9 3
|
1天前
|
Java 编译器 开发者
Java一分钟之-继承:复用与扩展类的特性
【5月更文挑战第9天】本文探讨了Java中的继承机制,通过实例展示了如何使用`extends`创建子类继承父类的属性和方法。文章列举了常见问题和易错点,如构造器调用、方法覆盖、访问权限和类型转换,并提供了解决方案。建议深入理解继承原理,谨慎设计类结构,利用抽象类和接口以提高代码复用和扩展性。正确应用继承能构建更清晰、灵活的代码结构,提升面向对象设计能力。
7 0
|
1天前
|
安全 Java 编译器
java中类与对象回顾总结-2
java中类与对象回顾总结
13 3
|
1天前
|
Java 编译器
java中类与对象回顾总结-1
java中类与对象回顾总结
13 3
|
1天前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
10 0
|
1天前
|
Java API 调度
【Java多线程】Thread类的基本用法
【Java多线程】Thread类的基本用法
5 0
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
8 0
|
2天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
25 1