CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

菜鸟请教,下面的代码为什么要这样用?

楼主one_bird(一鸟)2003-06-02 18:49:57 在 Java / J2SE / 基础类 提问

//:   IceCream.java  
  //   Demonstrates   "private"   keyword  
   
  class   Sundae   {  
      private   Sundae()   {}  
      static   Sundae   makeASundae()   {    
          return   new   Sundae();    
      }  
  }  
   
  public   class   IceCream   {  
      public   static   void   main(String[]   args)   {  
          Sundae   x   =   Sundae.makeASundae();//如果不能用下面那一句,而非要这样写???  
          //Sundae   x   =   makeASundae();  
      }  
  }   ///:~ 问题点数:10、回复次数:4Top

1 楼zhaoxichao(小西)回复于 2003-06-02 18:59:37 得分 3

makeSundae是静态函数Top

2 楼XKP(低等下人)回复于 2003-06-02 19:04:54 得分 3

因为  
  makeASundae();  
  不在  
  public   class   IceCream    
  里面  
   
  所以看不到这个方法,只能通过  
  类名  
  sundae  
  来调用Top

3 楼mymoto(忽忽)回复于 2003-06-02 19:15:46 得分 2

静态工厂是一个Static方法,从字面意思上看,既然它是一个工厂,也就意味者它管理着很多对象。由于我们在现实的项目中往往设计很多对象,但是又不想把更多的细节暴露在开发人员或者使用者的面前,比如说构造函数,各个对象的内部方法。假如说这些对象又可以进一步抽象为同一种类型的话,我们就可以通过一个对象工厂来封装这些对象,这些对象的创建任务由这个对象工厂来实现。这样用户只面对对象工厂,而不用将注意力放在内部对象的细节上。比如EJB,COM+的实现都是基于这种模式。如果想进一步了解,可以参照相关的“设计模式”  
   
  单例类,简单的说就是在整个应用程序周期中,只有该类的一个实例存在。这样的好处就是避免了一些资源的多进程访问,比如说你要操作日志文件,内存分配,垃圾收集,类运行时等,它们都不允许有多个类进行同时访问。这个时候你可以考虑使用单例类。具体情参照相关的“设计模式”  
   
  因为上面Sundae   的构造方法是私有的,所以不能用new来构造该对象,不过可以用makeASundae()   来返回他的实例,这样的好处就如上所说的,这个是关于构造模式的一个基础概念Top

4 楼teaky2002(种田硬手)回复于 2003-06-02 19:47:30 得分 2

当必须控制生成的对象个数的时候,就可以用这个样子,你可以用个计数器控制生成类的个数。当然,这只是其中一个用途。Top

相关问题

  • 菜鸟寻求原代码!!!!!!!!!
  • 菜鸟问题!各位帮忙看一下下面这段代码!
  • ===菜鸟系列===:关于类型转换的问题,请看下面的代码:
  • 菜鸟问题........解释两行代码.........
  • 菜鸟求教一程序代码(C#)
  • 我想用vb连接sql server,下面是全部代码,应该怎么改,请指教!(我是菜鸟)
  • ===菜鸟系列===:关于在BUFFER中取值的问题,请看下面的代码:
  • 菜鸟问题,请问为何运行下面的代码,出现错误提示!!谢谢!
  • 菜鸟求教下面这段关于byte[]的代码的含义。解释清楚明白就给分!
  • 菜鸟求助: JSP程序编写语法问题, 这句代码到底是Java代码还是Html代码.

关键词

  • sundae
  • makeasundae
  • 对象
  • icecream
  • 工厂
  • 类
  • 方法
  • static

得分解答快速导航

  • 帖主:one_bird
  • zhaoxichao
  • XKP
  • mymoto
  • teaky2002

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo