社区
Java SE
帖子详情
为什么java有些类的创建不用new而是调用它自己的一个方法
ligbook
2006-03-05 10:02:32
为什么java有些类的创建不用new而是调用它自己的一个静态方法,譬如Toolkit kit=Toolkit.getDefaultToolkit()。java为什么要这么做??
...全文
1235
21
打赏
收藏
为什么java有些类的创建不用new而是调用它自己的一个方法
为什么java有些类的创建不用new而是调用它自己的一个静态方法,譬如Toolkit kit=Toolkit.getDefaultToolkit()。java为什么要这么做??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
Java
中对象的
创建
和
调用
Java
对象的
创建
和
调用
时基于
类
的属性和
方法
去实现的。因为在之前的
类
和对象的概念中,我们已经将两者的概念区分出来了。 对象的
创建
格式:
类
名 对象名 =
new
类
名(); //例 student s = student(); // 表示这个对象名为s的对象归属于student这个
类
也就是说这个对象只能使用studnet中的属性和
方法
对象的
调用
格式: //对象的
调用
其实就是基于这个对象的
类
中的属性和
方法
进行程序的实体表达 // 所以这里分为两种
调用
一个
是属...
JAVA
中内部
类
的
方法
调用
所以在内部
类
中,不能通过this
调用
外部
类
的
方法
。因为this表示的是内部
类
small,而small
类
是没有定义
方法
test和
方法
shout的。这两个方都是属于外部
类
Cat的。Cat
类
继承了Animal
类
的
方法
,所以在Cat
类
中
创建
的内部
类
small
类
中,既可以直接
调用
父
类
继承来的shout
方法
,也可以
调用
本
类
中的test()
方法
。首先
创建
了
一个
类
Animal,该
类
有个
方法
。可以看到内部
类
中的this表示的是内部
类
本身。内部
类
是可以直接
调用
外部
类
中的
方法
的。
JNI
调用
java
方法
,
new
java
对象,
new
java
内部
类
JNI
调用
java
方法
,
new
java
对象,
new
java
内部
类
1.
new
java
对象
new
java
内部
类
创建
内部
类
,要先
创建
外部
类
实例 构造
方法
都是用 public class Test { public void test(){ Log.e("Test", "form
java
Class Test test()"); } publi
【
Java
】如何
创建
一个
类
【
Java
】如何
创建
一个
类
(
类
学习总结) 一 1点击最上方菜单栏的文件file,
new
一个
project 2然后点击src
创建
一个
包package 3右键这个包,
new
一个
class 这时候会自动出现
一个
public class student { } 这时候就
创建
好
一个
类
了 (有了public class student { }就
不用
往里面在打
一个
class了,我糊里糊涂往里面又打了
一个
c...
java
通过
new
的方式
调用
static
方法
最近重构项目时发现以前代码中,竟然有人用
new
对象的方式来
调用
类
的静态
方法
,不都是通过
类
名.
方法
名直接
调用
嘛?这使我对自己认知产生了怀疑,于是查了查,总结一下就是,静态
方法
没必要通过
new
对象方式
调用
,
new
了占内存会多!
new
的时候会先把
类
中static修饰的
方法
加载到代码区,然后在开辟内存。 ...
Java SE
62,629
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章