java单态学习
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java单态学习,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1478字,纯文字阅读大概需要3分钟。
内容图文
所谓单态,就是调用类模版创建的对象是同一个对象.好比一台电视机(单态对象).有两个遥控器(我们创建的对象引用). 但操作的却是同一台电视机.servlet类就是一个典型单态.
下面说明一下如何创建一个单态类:
首先将类的构造器私有化例如class Test{ private Test(){System.out.println("开始初始化");}//私有化构造器}
其次就是该类包含一个成员变量,此成员变量的类型和类本身一致:在第一步基础上举例如下:class a{ private Test(){System.out.println("开始初始化");}//私有化构造器
private static Test instance;//定义一个Test类型的成员变量,
}
其次就是创建一个方法来返回一个Test对象.这里要考虑的是用new Test()方法返回的话返回的对象当然是不同对象了.例如这样:public static Test getNewTest(){return new Test();},想到上面我们已经定义了一个静态变量.如果给它一个对象.我们再来访问这个变量.因为这个变量是静态的,那么不就是访问的同一个对象了么? 于是可以这么做public static Test getInstance(){
if(instance==nuul)
instance =new Test();
return instance;
}
因为这个变量是静态的,所以对于调用者来说都是同一个.而这个静态变量指向的又是单一的一个对象.当我们创建的该类引用变量时,实质上就是得到的这个静态变量的引用.自然操作的对象就是同一个了.
下面贴上代码.从代码中更容易理解.
class test { public static void main (String[] args) throws java.lang.Exception { TV t1=TV.getInstance(); t1.setName("TCL"); System.out.println("未创建t2前.电视机的牌子是"+t1.getName()); TV t2=TV.getInstance(); t2.setName("华夏"); System.out.println("创建t2后,t1电视机的名字是"+t1.getName()); System.out.println("t2电视机的名字"+t2.getName()); if(t1==t2) System.out.println("t1和t2是同一台电视机"); } } class TV{ private String name; private static TV instance; private TV(){ System.out.println("正在执行构造器...,,"); } public static TV getInstance(){ if(instance==null) instance=new TV(); return instance; } public void setName(String name){ this.name=name; } public String getName(){ return this.name; } }
代码简单易懂.这也使自己的一个学习总结吧..
原文:http://wwpstl.blog.51cto.com/11150755/1794167
内容总结
以上是互联网集市为您收集整理的java单态学习全部内容,希望文章能够帮你解决java单态学习所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。