Java类与对象:访问修饰符和构造函数
需积分: 0 37 浏览量
更新于2024-08-04
收藏 781KB DOCX 举报
"朱槐志的CS1807课程关于Java编程的学习资料"
在Java编程中,修饰符的使用对于类的成员访问控制至关重要。以下是根据提供的内容详细讲解的几个关键知识点:
1. **私有访问修饰符(private)**: 当希望类的某个成员不被类的外部访问时,应该使用`private`修饰符。这样可以保护数据的安全性,防止外部代码随意修改或访问。例如,`private int secretNumber;`。
2. **静态修饰符(static)**: `static`修饰的成员属于类级别,而非实例级别,因此可以直接通过类名访问,无需创建对象。例如,`public static int count = 0;`,这个计数器可以在任何地方通过`ClassName.count`来访问和修改。
3. **默认初始化值**: 如果类的成员是一个类的对象,如`MyClass obj;`,且在声明时没有显式初始化,那么它的初始值将是`null`。这意味着该对象尚未被分配任何内存空间,需要通过`new MyClass()`来创建实例。
4. **this关键字**: 在类的非静态成员函数中,`this`关键字代表当前对象的引用。例如,`this.name = name;`表示将参数`name`赋值给当前对象的`name`属性。
5. **构造函数**: 构造函数用于初始化新创建的对象。A. 构造函数在创建对象时自动调用;B. 错误,一个类可以定义多个构造函数(构造函数重载);C. 正确,类可以不定义构造函数,系统会提供一个默认的无参构造函数(除非其他构造函数已定义);D. 正确,构造函数名称必须与类名相同,且无返回值。
6. **访问修饰符的选择**: B. 无修饰符的成员变量(默认访问级别)只允许同包内的类访问;A. `private`是私有的,不允许包外访问;C. `public`允许所有类访问;D. `protected`允许子类和同包内访问。
7. **静态成员访问**: C. 为了让方法`fun()`能直接访问类的私有成员`m`,需要将`m`声明为`static`,因为静态成员不受对象实例的影响,可以直接通过类名访问。
8. **包访问权限**: 对于类A,若在不同包的B类中可以访问成员变量`m`并赋值,那么`m`需要是`public`的,同时类A也需是`public`的。C选项满足条件。
9. **构造函数与方法覆盖**: AA类的第二个构造函数`String AA(long i)`实际上是一个错误的声明,因为构造函数不能返回一个字符串。在Java中,构造函数不能有返回类型,即使`void`也不行。
10. **构造函数调用**: 在程序中,`this.i=i`是在构造函数中调用另一个构造函数的方式,确保对象的成员`i`得到正确的初始化。
这些知识点涵盖了Java访问控制、对象初始化、构造函数的使用、成员变量的静态与非静态特性以及包级别的访问规则,是Java编程的基础概念。理解和熟练应用这些知识点对于编写高质量的Java代码至关重要。
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2023-09-14 上传
2023-11-05 上传
2023-12-13 上传
2023-10-01 上传
2023-06-09 上传
2023-05-30 上传
滕扬Lance
- 粉丝: 28
- 资源: 304
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录