getinstance方法(java replace函数)

一般在单例模式下使用.getInstance()创建对象;但并不是所有有私有构造方法,对外通过getInstance方法提供实例的情况就是单例模式。注:单例模式:一个类有且只有一个实例。1,一个私有的构造器2,一个私有的该类类型的变量3,必须有一个共有的返回类型为该类类型的方法,用来返回这个唯一的变量eg:publicclassSingleton{

大家好,又见面了,我是你们的朋友全栈君。一般在单例模式下使用.getInstance()创建对象;但并不是所有有私有构造方法,对外通过getInstance方法提供

实例的情况就是单例模式。

注:单例模式:一个类有且只有一个实例。

1,一个私有的构造器

2,一个私有的该类类型的变量

3,必须有一个共有的返回类型为该类类型的方法,用来返回这个唯一的变量

eg:

public class Singleton{

    private Singleton(){}    //private 只能在自己内部供自己去访问

    private static Singleton instance=new Singleton();//在自己内部定义自己的一个实例

    public static Singleton getInstance(){         //此静态方法供外部直接访问


return instance;

    }

}

判断Singelton一个类是否是单例模式:

class Test{

    public static void main(String args[]){

Singleton s1=Singleton.getInstance();
Singleton s2=Singleton.getInstance();
if(s1==s2)
System.out.println(“此类是单例模式”);
else
System.out.println(“此类不是单例模式”);
    }
}getinstance方法(java replace函数)

GetInstance与new区别:

new的使用:如Object object = new Object(),这时候,就必须要知道有第二个public的Object构造方法的

存在。

GetInstance的使用:在主函数开始时调用,返回一个实例化对象,此对象是static的,在内存中保留着它

的引用,即内存中有一块区域专门用来存放静态方法和变量,可以直接使用,调用多次返回同一个对象。

(1)对象使用之前通过getinstance得到,而不需要自己定义,用完之后不需要delete;

(2)new 一定要生成一个新对象,分配内存;getInstance() 则不一定要再次创建,它可以把一个已存在的

引用给你使用,这在效能上优于new;

(3) new创建后只能当次使用,而getInstance()可以跨栈区域使用,或者远程跨区域使用。所以getInstance()

通常是创建static静态实例方法的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129633.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 条件运算符

    条件运算符条件运算符也叫三元运算符语法:条件表达式?语句1:语句2;条件运算符是ECMAScript中功能最多的运算符,它的形式与Java中的相同。variable=boolean_expre

    2022年7月2日
    23
  • 单工半双工和全双工的区别_什么是单工双工半双工

    单工半双工和全双工的区别_什么是单工双工半双工一、单工1、数据只在一个方向上传输,不能实现双方通信。2、栗子:电视、广播。二、半双工1、允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,其实际上是切换的单工。2、栗子:对讲

    2022年8月2日
    5
  • PHP-递归算法「建议收藏」

    PHP-递归算法「建议收藏」在PHP开发过程中,递归算法通常用于无限极分类。那么所谓递归就是一种函数调用自身的机制。简单来说就是在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用。并且递归算法的实现方法是有多种的,如通过“静态变量”、“全局变量”、“引用传参”的方式。下面我们就结合具体的代码示例,给大家介绍其中一种方法即利用静态变量的方法!代码如下:输…

    2022年8月11日
    2
  • 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)

    数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)本文目录:一、数据流向二、应用示例三、何为数仓DW四、为何要分层五、数据分层六、数据集市七、问题总结导读数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需要横向的数仓分层规范。本文作者围绕企业数仓分层展开分析,希望对你有帮助。因文章太长,本文不是完结版,文末可获取完整PDF版从事数仓相关工作的人员都知道数仓模型设计的首要工作之一就是进行模型分层,可见模型分层在模型设计过程中的重要性,确实优秀的分层设计是一个数仓项目能否建设成功的核心要素,让数

    2022年6月26日
    71
  • adrc过渡过程 c语言,初步认识ADRC与应用「建议收藏」

    adrc过渡过程 c语言,初步认识ADRC与应用「建议收藏」初步认识ADRC与应用初步认识ADRC与应用这是一个目录ADRC的基本原理一、参考资料推荐二、为什么PID好,以及,为什么PID不够好1.为什么PID好——基于模型的现代控制理论不实用2.为什么PID不够好——PID的缺点三、ADRC给出的方案——如何保留PID的优点,同时弥补PID的缺点1.误差的取法——安排过渡过程2.由误差提取误差微分的方法——跟踪微分器3.加权和的策略不一定最好——非…

    2022年5月19日
    58
  • websocket 实现长连接原理「建议收藏」

    websocket 实现长连接原理「建议收藏」一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充可以通过这…

    2022年7月11日
    76

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号