Java编程:数据结构与程序设计复习要点

需积分: 0 0 下载量 47 浏览量 更新于2024-08-26 收藏 22KB DOCX 举报
"Java语言程序设计与数据结构11版,章节9的复习题和编程题目" 本资源主要涵盖Java编程中的多个核心概念,包括对象的创建、方法的使用、访问控制、参数传递以及随机数生成等。以下是各部分知识点的详细解释: 9.6.2 关于`Point2D`类: 这里提到了使用`newPoint2D()`创建`Point2D`类的实例,这是Java中构造器的用法,用于初始化新对象。`distance()`方法计算两个点之间的欧几里得距离,而`midPoint()`方法返回两个点的中点。这些都是对象间交互的常见操作。 9.7.2 静态修饰符`static`: `static`关键字用于声明类级别的变量和方法,而不是属于某个实例。在`main`函数和`factorial`函数前添加`static`,意味着它们可以直接在类级别上被调用,无需先创建对象。 9.7.3 静态方法与实例方法的区别: 静态方法不能访问非静态(实例)变量或调用实例方法,因为静态方法属于类,不依赖于特定的实例。相反,实例方法可以访问静态变量和方法,因为它们是类的一部分。 9.9.2 访问控制与封装: 使用私有(`private`)访问修饰符可以防止类的外部直接访问成员变量,提高数据安全性,便于维护和调试。这是面向对象编程中的封装原则。 9.9.3 私有变量与内部类的访问: 即使`radius`是私有的,但若`myCircle`是`Circle`类的一个内部类,它仍然可以访问`Circle`类的私有成员,这是内部类的特性。 9.10.1 参数传递: 基本类型作为参数时,传递的是值副本,方法内修改不影响实参。引用类型参数则传递对象引用,方法内修改会影响实际对象。 9.10.3 数组和对象的引用: 数组名(如`a`)是引用,改变引用(如`a=a`)不会影响其他引用,但改变元素(如`a[0]`)会影响到所有引用。 9.11.1 引用null和空指针异常: 未初始化的对象引用输出`null`,尝试访问`null`引用会抛出`NullPointerException`。 9.12.2 类型转换的限制: 某些情况下,不允许直接进行类型转换,可能需要强制类型转换并检查可能的运行时错误。 9.13.1 运算符优先级: `+`运算符的优先级低于`=`,所以`i+j=is23`,`kis2`,`jis0`,这里`i+j`首先计算得到`23`,然后赋值给`is`,`k`和`j`未被赋值。 9.14.2 构造器的使用: 构造器用于初始化新对象,这里指出第10行和第14行的构造器中应使用`this.p=p`,以确保对象的`p`属性被正确设置。 9.14 编程题: `TestRandomLib`类展示了如何使用`Random`类生成随机数。`nextInt(100)`生成0到99之间的随机整数。创建两个`Random`对象并设置相同的种子(1000),它们会产生相同序列的随机数,这就是为什么两次输出会有相同数字的原因。 这些知识点覆盖了Java的基础语法、面向对象特性以及数据结构的一些基本概念,对于学习和理解Java编程至关重要。