Java学习笔记:属性赋值顺序与单例模式详解
需积分: 11 160 浏览量
更新于2024-08-27
收藏 70KB TXT 举报
"Java学习笔记.txt"
在这个Java学习笔记中,我们探讨了几个关键的主题:
1. **属性赋值顺序**:
- Java中属性赋值遵循特定顺序:首先执行默认赋值(如果没有显式设定),然后是显示赋值(即直接在声明时赋值)或代码块赋值,接着是构造器赋值。最后,如果属性尚未被这些方式初始化,可以通过创建类的实例并调用方法赋值。然而,这种方式不推荐用于对象中方法内部,因为这可能导致不可预期的结果。
2. **final关键字的用法**:
- final是一个关键字,用于强调某种不可更改性。它可以修饰类、方法和变量:
- 类:final修饰的类表示该类不可被继承,如String、System和StringBuffer。
- 方法:final方法表示其不可被子类重写,例如Object类中的getClass()方法。
- 变量:final变量,即常量,一旦赋值后就不能改变。它可以在显示初始化、代码块初始化或构造器初始化时使用。
- 对于局部变量,final可以限制其在方法内部的可变性,如方法体内定义的final变量以及作为参数传递的final类型。
3. **单例模式示例**:
- 学习了两种常见的单例模式实现方式:
- **饿汉式**(在类加载时就创建实例):
```java
class Bank {
private Bank() {}
private static Bank instance = new Bank();
public static Bank getInstance() {
return instance;
}
}
```
- **懒汉式(线程不安全)**:
```java
class Bank {
private Bank() {}
private static Bank instance = null;
public static Bank getInstance() {
if (instance == null) {
instance = new Bank();
}
return instance;
}
}
```
- 懒汉式需要注意线程安全问题,若在多线程环境中使用,可能会导致多个实例被创建。
这份笔记涵盖了Java中的基础语法、关键字final的用法以及单例模式的两种常见实现,这些都是Java开发者理解和掌握编程语言核心概念的重要部分。通过深入理解这些内容,可以帮助新手更好地构建和维护高质量的Java应用程序。
2009-09-12 上传
2021-03-30 上传
2020-09-03 上传
2011-01-13 上传
2018-03-07 上传
2020-03-16 上传
你走吧起风了__
- 粉丝: 43
- 资源: 2
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新