Java学习笔记:属性赋值顺序与单例模式详解
需积分: 11 189 浏览量
更新于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应用程序。
128 浏览量
267 浏览量
142 浏览量
145 浏览量
你走吧起风了__
- 粉丝: 43
- 资源: 2
最新资源
- 嵌入式系统综述 pdf文件 讲解了软件和硬件,以及开发
- VLAN在校园网中的应用方案设计
- C++设计模式.pdf (C++ 详细描述经典设计模式)
- 计算机一级网上测试系统
- 搭建SVN使用说明及原理说明
- VC编程资料\网络编程实用教程_相关章节实例源程序清单.doc
- sqlsever 2005 操作数据库
- redhat linux手册
- Office SharePoint Server 2007 Install Guide.pdf
- asp.net,php等web开发教程
- Keil C51 vs 标准C
- 挑战SOC-基于NIOS的SOPC设计于实践
- VC++ 6.0 - Advanced MFC Programming
- C++风格的C经典程序
- PLL锁相环的ADS仿真
- delphi6database编程