看了下单例模式,个人理解就是只能有一此实例化,这样对性能有一定提高。
下面说说学习小例子:
public class Singleton {
private Singleton(){}
private static Singleton instance = new Singleton();
public static Singleton getInstance(){
return instance;
}
public void sys(String s){
System.out.println(s+"singleton.........");
}
}
此类就是一个单例类,里面我写了一个方法
测试此类:
public class TestSingletion {
public static void main(String args[]){
Singleton.getInstance().sys("fdsfds");
}
}
只能通过Singleton.getInstance()得到实例,调用类中方法。
这就是一个单例模式。
网上还有一种方法是:
public class Singleton {
private static Singleton instance = null;
private Singleton(){
//应该加上这个
}
public static synchronized Singleton getInstance(){
if(instance==null){
instance = new Singleton();
}
return instance;
}
public void sys(String s){
System.out.println(s+"singleton.........");
}
}
网上说可以这样可以防止多个实例。
而我用测试类进行测试时,却可以实例化此类,不知道为何,谢谢能有人讨论下。
在各位的帮助下,我知道错了,谢谢
分享到:
相关推荐
在学习单例模式时,除了理解其基本概念和实现,还需要关注如何在实际项目中正确、恰当地应用。通过阅读提供的"iOS 设计模式——单例"相关资料,可以深入理解在iOS开发环境中如何有效利用单例模式来优化代码结构和...
通过学习单例模式,可以更好地理解和掌握如何在Java程序中控制对象的创建,提高代码的复用性和性能。 设计模式不仅仅是关于代码结构,更重要的是理解其背后的意图和解决问题的思路。学习设计模式有助于提升编程思维...
从基础到高级,读者可以逐步学习单例模式、工厂模式、观察者模式、装饰器模式、策略模式、代理模式等经典设计模式。每个章节都可能包含理论解释、代码示例以及实际应用场景,帮助读者将理论知识转化为实际编程技能。...
学习单例模式不仅仅是理解其基本概念,更重要的是要理解它在实际项目中的应用场景和限制。通过阅读这份"详解单例模学习资料",你将能够更好地掌握如何在Java项目中有效地使用单例模式,解决实际问题。同时,你也需要...
我们将会学习单例模式、工厂模式、观察者模式等经典模式,并了解它们在实际项目中的应用。 PPT标签可能意味着课程中会有演示文稿辅助教学,这些文稿通常包含关键概念的总结、示例代码以及课后练习,帮助学员更好地...
学习单例模式有助于理解对象的生命周期管理,以及在多线程环境下的资源控制。 在"黑马程序员_毕向东_Java基础视频教程第06天-09-面向对象(单例设计模式).avi" 这个文件中,毕向东老师可能会详细讲解以下内容: 1. ...
学员还会学习单例模式,这是一种确保一个类只有一个实例的设计模式。同时,课程涵盖了类的继承、抽象类和接口的使用,讲解了`is-a`、`is-like-a`、`has-a`的关系,以及Object类的重要性。通过学习接口,学员能理解...
在面向对象的设计模式部分,教程会引导学员学习单例模式、工厂模式、观察者模式等常见的设计模式,这些都是在实际开发中经常用到的,能提升代码的可读性和可维护性。 当然,对于就业培训,实战项目经验至关重要。...
在本教程中,我们将会学习如何使用...本教程的目标是提供一个易于理解的贪吃蛇游戏制作过程,让初学者能够通过编程在Unity中实现自己的游戏,并且通过学习单例模式和辅助脚本的使用,加深对C#编程和游戏设计的理解。
- **常见设计模式**:学习单例模式、工厂模式、装饰者模式、观察者模式等经典设计模式的原理和应用。 6. Java EE - **Servlet与JSP**:理解Web开发的基础,如何编写Servlet和JSP页面。 - **MVC框架**:介绍...
- 学习单例模式、工厂模式、观察者模式等常见设计模式在WinForm应用中的应用。 通过这198个实例,开发者不仅可以熟悉C#语法,还能掌握WinForm应用开发的实战技巧。每一个实例都是一个独立的学习点,通过实践和调试...
13. **设计模式**:学习单例模式、工厂模式、观察者模式等经典设计模式,并理解其在JavaScript中的应用。 14. **浏览器兼容性**:理解不同浏览器之间的差异,以及如何使用polyfill或Babel进行代码转换,确保代码在...
- 学习单例模式、工厂模式、装饰器模式、观察者模式等常见设计模式。 通过解决这些Java例题,你可以逐步巩固基础,提升编程技能,并为更高级的概念打下坚实的基础。不断地实践和应用,是成为一名优秀Java开发者的...
- 学习单例模式、工厂模式、观察者模式等常见设计模式的原理和应用场景。 【ASP.NET技术题目】 ASP.NET是微软公司的Web应用程序开发框架,主要用于构建动态网站、Web应用和Web服务。以下是一些相关的知识点: 1....
5. 设计模式:学习单例模式、工厂模式、观察者模式等常见设计模式。 七、PHP框架与应用 介绍常见的PHP框架,如Laravel、Symfony、Yii等,理解框架的MVC模式,提高开发效率和代码质量。 八、性能优化与安全实践 1. ...
学习单例模式、工厂模式、装饰器模式等基础设计模式,能提升代码质量和可维护性。 12. **单元测试与持续集成**:JUnit是Java中常用的单元测试框架,学习如何编写测试用例以及使用Maven或Gradle进行持续集成,可以...
为了保证单例模式在多线程环境下的正确性,可以在`getInstance()`方法上加上`synchronized`关键字,以确保同一时间只有一个线程能够执行该方法,从而避免创建多个实例。 ```java public class Singleton { private...
学习单例模式、工厂模式、观察者模式等常见设计模式,可以提高代码的可维护性和可扩展性。 12. **测试**:JUnit是Java的单元测试框架,学会编写测试用例和断言,确保代码的正确性,是良好编程习惯的一部分。 在...
- **对象(Object)**:学习单例模式,以及如何使用对象表达式和对象声明。 - **继承**:掌握继承机制,了解`open`关键字的作用。 - **多态**:通过接口和抽象类实现多态性。 - **伴生对象(Companion Object)**:学习...