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静态实例方法的。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • windows10 Linux子系统(wsl)文件目录

    windows10 Linux子系统(wsl)文件目录简介使用window中的Linux子系统创建的文件究竟放在什么地方,既然作为子系统文件肯定是可以互相访问的目录ubuntuLinux子系统的目录是在这个目录下C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs现在在…

  • 最近公共祖先详解_共同祖先

    最近公共祖先详解_共同祖先最近公共祖先带查询的节点为x和y节点,书的深度为d暴力求解:设置访问数组vis[N],以此遍历x的父节点并做标记,然后再遍历y的父节点,第一个被做标记的就是公共祖先,时间复杂度为O(d)倍增法:f[i][j]代表当前节点向上走2j2^j2j所能走到的节点,其中0≤j≤⌈log(d)⌉0\leq j \leq \lceil log(d) \rceil0≤j≤⌈log(d)⌉,时间复杂度为O(logn),另外还需要设置dist[N]代表节点i到根的距离+1,哨兵:如果从i开始跳2j2^j2j步会跳过根节

  • 常见的API接口管理工具

    常见的API接口管理工具

  • 搭建大众点评CAT监控平台

    搭建大众点评CAT监控平台

  • 纯css下拉菜单详解

    纯css下拉菜单详解一级菜单二级菜单二级菜单二级菜单一级菜单二级菜单二级菜单二级菜单下拉菜单由于实用,所以受到人们的欢迎。下拉菜单通常是由javascript来实现的,也应该由javascript来实现,因为这属于行为层范围。然而大家知道,使用CSS的

  • Protostuff序列化分析

    Protostuff序列化分析Protostuff序列化分析最近项目中需要将业务对象直接序列化,然后存数据库;考虑到序列化、反序列化的时间以及生产文件的大小觉得Protobuf是一个很好的选择,但是Protobuf有的问题就是需要有一个.proto的描述文件,而且由Protobuf生成的对象用来作为业务对象并不是特别友好,往往业务对象和Protobuf对象存在一个互相转换的过程;考虑到我们仅仅是将业务对象直接序列化到数据库,发现Protobuf在这种情况下并不是特别的好;这时候发现了Protostuff,protostuff不需

发表回复

您的电子邮箱地址不会被公开。

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