Java编程:数据结构与程序设计复习要点
需积分: 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编程至关重要。
2021-04-01 上传
2021-04-01 上传
2021-09-30 上传
2021-12-05 上传
2021-10-23 上传
2021-12-09 上传
2023-05-30 上传
2021-09-30 上传
2019-08-06 上传
Charltin
- 粉丝: 7
- 资源: 5
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常