为什么java有些类的创建不用new而是调用它自己的一个方法

ligbook 2006-03-05 10:02:32
为什么java有些类的创建不用new而是调用它自己的一个静态方法,譬如Toolkit kit=Toolkit.getDefaultToolkit()。java为什么要这么做??
...全文
1235 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ligbook 2006-03-09
  • 打赏
  • 举报
回复
谢谢各位朋友的解答,我自己正在根据各位的提示找一些资料书看。我想我对java机制还不够了解,我会努力的,谢谢各位!!
wanchengpeng 2006-03-06
  • 打赏
  • 举报
回复
应该是单例模式或多例模式,隐藏构造函数,阻止类的使用者直接调用构造函数,方便对该类的对象进行直接管理。
xqs2113 2006-03-06
  • 打赏
  • 举报
回复
学习....
dlxu 2006-03-06
  • 打赏
  • 举报
回复
一个简单的工厂模式
filippo_le 2006-03-06
  • 打赏
  • 举报
回复
看看模式,有单例等多中可能,目的是不提供产生同一个类的多个实例
bigdogyang 2006-03-06
  • 打赏
  • 举报
回复
工厂模式的使用,目的是避免生成多个类的实例对象,另外还有一个目的是集中控制类的构造。
jeffaple 2006-03-06
  • 打赏
  • 举报
回复
为什么java有些类的创建不用new而是调用它自己的一个方法?
effective java 看过吗,里面讲的不错,
是用new还是用静态工厂,都有不同适用条件的。。
aywrenyue 2006-03-06
  • 打赏
  • 举报
回复
对象被隐藏,这样不能同时创建多个对象!
foxty 2006-03-06
  • 打赏
  • 举报
回复
感觉很多都答不对文呢。

我想楼住应该是搞清楚类方法和实例方法的区别.类方法是不需要将类实例化后就可以直接使用的。实例方法是必须将类实例化以后才能使用的。相当于一种是class类()方法,一种是instance(对象)方法。`
dewdrop 2006-03-05
  • 打赏
  • 举报
回复
有的情况是singleton模式
为了一个class只对应着一个instance,也是要使constructor成为private
而public一个返回instance的function
universe01 2006-03-05
  • 打赏
  • 举报
回复
mark
zx2002027 2006-03-05
  • 打赏
  • 举报
回复
隐藏构造函数,阻止类的使用者直接调用构造函数。
Paripatetic 2006-03-05
  • 打赏
  • 举报
回复
有些类实例化需要一些参数,但程序员无法得到
只能用这种方法来取得实例
andyjt 2006-03-05
  • 打赏
  • 举报
回复
返回类型是类名本身
对象已经在类里面创建,并且构造函数是private,外面不能创建对象,只能调用内部方法static
java单态模式
北极猩猩 2006-03-05
  • 打赏
  • 举报
回复
建议楼主去察看设计模式中的创建模式部分,主要是:
工厂方法(Factory Method)
抽象工厂(Abstract Factory)
xiaobaolove 2006-03-05
  • 打赏
  • 举报
回复
单子模式
superman421 2006-03-05
  • 打赏
  • 举报
回复
当然有new,不然对象怎么出来!至少要new一次!或者至少要动态调用构造方法一次
小落勇士 2006-03-05
  • 打赏
  • 举报
回复
有时,class 就是这样用,但是这样,那个静态,方法里也有new ?
是不是啊?
superman421 2006-03-05
  • 打赏
  • 举报
回复
很简单,这样做主要是不想你new对象。对象由类自身维护
bill_wwb 2006-03-05
  • 打赏
  • 举报
回复
静态的类可以直接调用方法,不需要实例化。
加载更多回复(1)

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧