第四章 类与对象
4.1 编程语言的几个发展阶段
编程语言经历了从面向过程到面向对象的发展历程。面向对象编程(OOP)通过对象的封装、继承和多态等特性,提高了代码的重用性和维护性。
4.2 类
类是对象的蓝图,定义了对象的属性和方法。通过类的实例化创建对象,类的设计影响着程序的结构和逻辑。
4.3 构造方法与对象的创建
构造方法是特殊的方法,用于初始化对象属性:
public class MyClass { MyClass() { // 初始化代码 } }
创建对象时,构
造方法被调用以设置初始状态。
4.4 类与程序的基本结构
Java程序通常由多个类组成。类之间可以通过组合、继承等关系相互协作,形成完整的程序结构。
4.5 参数的传值
Java采用值传递机制。当方法被调用时,传递的是参数的值副本,而不是原始变量,因此对参数的修改不会影响原始变量。
4.6 对象的组合
通过组合可以实现复杂对象,组合是将多个对象组合成一个对象的技术,可以提高代码的灵活性和可重用性。
4.7 实例成员与类成员
-
实例成员:属于每个对象,通常表示对象的状态。
-
类成员:属于类本身,所有对象共享,用于表示类的特征。
4.8 方法重载
方法重载允许在同一类中定义多个同名方法,通过参数的类型或数量的不同来实现不同的功能,提高了方法的灵活性。
4.9 this关键字
this关键字用于指代当前对象的引用。在构造方法或实例方法中,this可以用于区分实例变量和参数变量。
4.10 包
包是用于组织类的机制,可以避免类名冲突。通过包的划分,增强代码的可维护性和可读性。
4.11 import语句
通过import语句可以导入其他包中的类,方便在当前类中使用,减少代码中的全名引用。
4.12 访问权限
Java提供了多种访问权限控制:
-
公有(public):任何类都可以访问。
-
私有(private):只有类内部可以访问。
-
受保护(protected):同一包内的类或子类可以访问。
-
默认(package-private):同一包内的类可以访问。
4.13 基本类型的类封装
Java为每种基本数据类型提供了相应的包装类(如Integer、Double),使其可以作为对象进行使用。这对于集合框架和其他对象导向的特性尤为重要。
4.14 var局部变量
从Java 10开始引入的var关键字用于自动推断局部变量的类型,简化代码书写,但必须在声明时初始化。
4.15 对象数组
Java允许数组存储对象引用,可以创建对象数组并访问其成员,示例如下:
MyClass[] objects = new MyClass[10]; // 创建一个对象数组 objects[0] = new MyClass(); // 初始化第一个元素
4.16 jar文件
Java归档文件(jar)用于打包多个类文件和资源,可以方便地分发和部署Java应用程序。使用jar
命令可以创建和管理jar文件。
4.17 文档生成器
Java提供Javadoc工具用于生成API文档,能够根据代码中的注释生成标准格式的文档,有助于其他开发者理解和使用类和方法。