public class Test {
public static void main(String[] args) { //入口文件 也属于静态方法
//静态方法只能调静态
// 像直接在main里调用这个类的别的普通方法 是不可以的
// 如果想调用 必须要new 对象
System.out.println("单例设计模式");
Back back=Back.getinBack();
Back_2 back_2=Back_2.getback_2();
Back_2 back_22=Back_2.getback_2();
System.out.println(back_2==back_22);
//final: 最终的
//可以用来修饰 :类 方法 变量
// 最终类 不能继承 不能存在子类 这个类 不需要再扩展了 只能存在这么多功能
// 比如 String类 System类 StringBuffer类
// 修饰方法 :子类不可重写
back.finalB();
// 修饰变量 而不是属性 此时的变量就变成了常量 不能被修改
final int num1 = 1;
// 如果用来修饰属性的时候 要考虑修饰的位置 显示初始化修饰 代码块中初始化 构造器中初始化
//static final 可以同时修饰 : 属性 方法 称作 全局常量
}
}
//final类
final class FinalA{
}
//饿汉 单例模式 用不用先把对象造好
class Back{
//1. 要求私有化 构造器
private Back() {
System.out.println("私有构造器");
}
//2.内部创建类的对象
private static Back insBack=new Back();
private static void getCall() {
System.out.println("我要说话了");
}
//提供公共的方法 返回对象
public static Back getinBack() {
return insBack;
}
public final void finalB() {
System.out.println("最终方法");
}
}
//懒汉 单例模式 啥时候用啥时候造
class Back_2{
//1.私有构造器
private Back_2() {
System.out.println("私有构造器23");
}
// 2. 声明当前类对象 没有初始化
private static Back_2 back_2=null;
//提供公共的方法 返回对象
public static Back_2 getback_2() {
if(back_2 == null) {
back_2=new Back_2();
}
return back_2;
}
}
//懒汉式和饿汉式区别
// 饿汉式:
// 坏处 对象加载时间过长
// 好处 线程安全
// 懒汉式:
// 好处: 延迟对象创建
// 坏处: 线程不安全 到多线程内容修改为线程安全
//单例模式--- 应用场景
//网站的计数器
//应用程序日志应用
//数据库连接池
// 读取配置文件的类 Java 单例模式 final关键字详解
原创
©著作权归作者所有:来自51CTO博客作者json____的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【Java 基础】-- Java final 关键字详解
使用final关键字定义常量时,通常与static这样可以确保PI作为全局常量不可更改。
java jvm 开发语言 System Java -
final关键字内存屏障 java final关键字含义
final关键字在java中被称为完结器,表示最终的意思,意味着被final修饰的成员不能被改变。final修饰变量时,意味着该变量是常量;final修饰方法时,意味着该方法不能被子类重写;
final关键字内存屏障 java final关键字 子类 句柄 -
从零开始XR开发:Three.js实现交互式3D积木搭建器
发者学习3D/XR应用开发提供了完整参考。
#xr #javascript #3d 3D 拖拽
















