Java类与对象:访问修饰符和构造函数
需积分: 0 178 浏览量
更新于2024-08-04
收藏 472KB DOCX 举报
"本章作业主要涉及Java编程语言中的访问修饰符、类的成员初始化、构造函数、对象的创建以及成员变量的访问控制。"
详细知识点解析:
1. 访问修饰符
- `private`: 当希望一个类中的成员不能在类的外部访问时,应该使用`private`修饰符定义该成员。`private`修饰的成员只能在同一个类内部被访问。
- `public`: 使用`public`修饰符定义的类成员,可以在任何地方被直接访问,无需创建对象。
2. 类的成员初始化
- 如果类的一个成员是一个类的对象,而这个成员没有在类的实例初始化器或构造函数中显式初始化,那么该对象的初始值是其类型的默认值。对于引用类型(如类对象),默认值是`null`。
3. `this`关键字
- 在类的非静态成员函数中,使用`this`关键字来表示当前调用该函数的对象,它引用的是对象的实例。
4. 构造函数
- A. 构造函数的调用时机是在实例化对象时,用于初始化新创建的对象。
- B. 错误:一个类可以有多个构造函数,通过重载实现不同参数的构造。
- C. 正确:一个类可以不定义构造函数,Java会提供一个默认的无参构造函数。
- D. 正确:构造函数的名字必须与类名相同,并且没有返回值。
5. 访问控制修饰符的选择
- A. `private`: 仅限于本类访问。
- B. 无修饰符:默认为包级私有,只允许同一包内的类访问。
- C. `public`: 允许所有类访问。
- D. `protected`: 允许同一包内和子类访问。
6. 成员变量的访问
- 为了使成员变量`m`在静态方法`fun()`中直接访问,需要将其声明为`static`,因为静态方法不能访问实例变量。
- 选项C正确:将`private int m`改为`static int m`。
7. 类的可见性和成员访问
- 对于`classA`,如果在另一个包中的`classB`中,`A a = new A(); a.m = 10;`语句成立,那么`m`必须是公共的并且`classA`也应该是公共的,以便在不同包中可以创建`classA`的对象并访问其成员。
- 选项C正确:`public class A { public int m; }`
8. 构造函数和方法覆盖
- 在提供的程序中,类`AA`有两个构造函数,一个无参构造函数和一个带`String`参数的构造函数。这里带`String`参数的方法实际上并不是构造函数,因为它返回了一个`String`,真正的构造函数是无参和带`long`参数的。程序可能试图通过`AA("i=value")`调用那个方法,但这是错误的,因为构造函数不能返回值。
总结:本章作业涵盖了Java编程基础的几个核心概念,包括访问修饰符、对象初始化、构造函数的使用、成员变量的访问控制以及类的可见性。这些都是编写和理解Java程序的基础。
2022-08-03 上传
2022-08-03 上传
2024-06-29 上传
2024-06-29 上传
2024-05-28 上传
2023-05-24 上传
2023-07-05 上传
2023-03-14 上传
2023-06-28 上传
![](https://profile-avatar.csdnimg.cn/a0b51dda444b4108b9feacf9630f6a50_weixin_35761245.jpg!1)
曹多鱼
- 粉丝: 26
- 资源: 314
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命