【Singleton 单例模式】 单例模式是一种设计模式,它保证了类只有一个实例,并提供一个全局访问点。这种模式在需要频繁创建和销毁对象的场景中特别有用,因为它可以节省系统资源,避免对系统内存的过度消耗。在Java中实现单例模式,通常有两种常见方法: 1. 饿汉式(静态常量): 在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快,线程安全。 ```java public class Singleton { private static final Singleton INSTANCE = new Singleton(); private Singleton() {} public static Singleton getInstance() { return INSTANCE; } } ``` 2. 懒汉式(双重检查锁定): 类加载时不初始化,首次调用 `getInstance()` 时才初始化,线程安全。 ```java public class Singleton { private volatile static Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; } } ``` 【构造器与类初始化】 类的初始化涉及到构造器、非静态代码块和静态代码块。当创建一个类的实例时,首先会执行类的静态代码块,然后是构造器,最后是非静态代码块。静态代码块只在类加载时执行一次,而非静态代码块则每次创建对象时都会执行。 ```java public class A { static { System.out.println("父类的非静态代码块"); } A() { System.out.println("父类的构造器"); } } public class B extends A { static { System.out.println("子类的非静态代码块"); } B() { System.out.println("子类的构造器"); } } public class TestB { public static void main(String[] args) { B b2 = new B(); } } ``` 输出: ``` 父类的非静态代码块 子类的非静态代码块 父类的构造器 子类的构造器 ``` 【final关键字】 `final` 关键字可以修饰类、方法和变量,表示不可变或最终状态。 - 修饰变量:变量一旦被声明为final,其值就不能改变。 - 修饰方法:方法不能被子类重写。 - 修饰类:类不能被继承。 【abstract关键字】 `abstract` 关键字用于定义抽象类和抽象方法。抽象类不能被实例化,只能作为其他类的父类。抽象方法没有具体实现,必须由其子类重写。 ```java public abstract class AbstractClass { abstract void someAbstractMethod(); } public class ConcreteClass extends AbstractClass { @Override void someAbstractMethod() { // 实现方法体 } } ``` 【interface关键字】 接口是抽象方法和常量的集合,不能包含方法的实现。接口中的所有方法默认都是`public abstract`的,常量默认为`public static final`。一个类可以实现多个接口,接口之间用逗号分隔。接口可以继承其他接口。 ```java public interface InterfaceA { void methodA(); } public interface InterfaceB { void methodB(); } public class MyClass implements InterfaceA, InterfaceB { @Override public void methodA() { // 实现方法A } @Override public void methodB() { // 实现方法B } } ``` 【内部类】 内部类是在另一个类内部定义的类,可以是静态或非静态的。非静态内部类(成员内部类)拥有对外部类的隐式引用,而静态内部类(静态嵌套类)则不需要。 【异常处理】 Java的异常处理机制包括`try-catch-finally`结构。`try`块中包含可能抛出异常的代码,`catch`块捕获并处理异常,`finally`块无论是否发生异常都会执行。`throws`关键字用于声明方法可能抛出的异常。自定义异常通常继承自`Exception`类,目的是创建具有特定含义的异常类型。 【集合类的遍历】 集合类如ArrayList、LinkedList等可以通过增强的for循环(foreach)遍历元素,这是一种简洁的遍历方式。 ```java List<String> list = new ArrayList<>(); // 添加元素... for (String item : list) { System.out.println(item); } ``` 以上是Java编程中涉及的一些核心知识点,包括设计模式、类初始化、关键字用法、异常处理和集合操作等。理解并掌握这些概念对于编写高效、可靠的Java代码至关重要。































剩余16页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 无线路由器-用户如何连接到无线网络.docx
- 新形势下的计算机应用技术创新实践研究.docx
- 中国大学生计算机设计大赛参赛经验与总结.docx
- 医疗行业信息化解决方案白皮书.doc
- 通信现场施工安全手册.ppt
- 大数据背景下档案管理思维方式的转变.docx
- 浙大远程教育2012年秋冬(建设项目管理)第一次作业.doc
- 单片机汽车倒车测距仪设计方案.doc
- 互联网+视域下地方高校师范生的信息技术素养现状及提升策略.docx
- 计算机数据库的构建及管理维护分析.docx
- 基于大语言模型(LLM)和多智能体(Multi-Agent),探究AI写小说能力的边界
- 浅析计算机信息管理在医院中的应用.docx
- PLC、触摸屏、变频器控制货物分拣系统设计.doc
- 论智能家庭网络的门户-家庭网关.docx
- 基于互联网+的高职计算机类混合式教学模式研究.docx
- 大数据时代汽车品牌营销解决方案分析.docx


