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)
blank

相关推荐

  • CPU介绍

    CPU内核主要分为两部分:运算器和控制器。(一)运算器cpu基本想到的是计算,因此有算数计算,还有逻辑计算单元以及移位简单的运算;fp运算单独拿出;要运算就需要输入数字,因此有寄存器组,即通用寄

    2021年12月24日
  • 圆周率小数点后5000位数值表_输出一位小数C语言

    圆周率小数点后5000位数值表_输出一位小数C语言圆周率2500位圆周率500位3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745…

  • Ubuntu 20.04 安装 Docker

    Ubuntu 20.04 安装 Docker检查Ubuntu内核docker需要ubuntu的内核高于3.10uname-rDocker安装#新增更新源sudoecho”debhttps://download.docker.com/linux/ubuntuzestyedge”>/etc/apt/sources.list#step1:安装必要的一些系统工具sudoapt-getupdatesudoapt-get-yinstallapt-transport-httpsca-certi

  • 虚拟机桥接模式下设置静态IP地址无法上网

    虚拟机桥接模式下设置静态IP地址无法上网宿主机:win7虚拟机:Fedora24上网:无线路由器+ADSL虚拟机采用桥接模式,之前虚拟机的网卡配置为DHCP模式,通过无线路由器动态分配一个192.168.1.xxx的IP地址,可以上网。由于最近需要虚拟机的IP地址固定,就设置了一个镜头IP地址:192.168.1.30,结果发现虚拟机无法上网了。折腾了半天发现,在vmware的网络编辑器中,不要使用自动,要明确选择桥接到联网的

  • Arm-A53资料「建议收藏」

    2012年10月Cortex-A53推出了市场,它带来了ARMv8指令集,在高能效比、节省面积基础上还有显著的性能提升。目前Cortex-A53已可以授权,ARM多个合作伙伴会在2014年推出相关芯片。开发者、OEM厂商和SoC设计者需要了解的Cortex-A53的几个重要特点如下:1、ARM低功耗/高效率的传承ARM9是ARM历史上授权最多的处理器,有超过250个授权。它树立了一个非常重要的功率/成本平衡的最有效点。基于ARM926的功能手机(Nokia…

  • 大数据平台建设路径

    大数据平台建设路径数字化转型这几年成为了集团公司或大型企业寻求业务突破的重要手段,而且各行各业都不乏成功案例,例如金融行业的建设银行、招商银行、平安保险等,还有一些生动的例子,例如百丽鞋业。而国外的经典案例就是亚马逊和特斯拉。集团客户动静都很大,首先要做咨询规划,必须跟上投入和管理配套,然后可以开始平台建设,最终开始应用,赋能各业务线和产品线。从技术的角度,一个完整的大数据平台通常会三期建设。先看下图:蓝色部分是第一期内容,绿色部分是第二期内容,橙色部分是第三期内容。第一步,先建设大数据基础平台。首要满足的是数据汇聚

发表回复

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

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