如图java代码里面,不需要用new关键字实例化类就可以直接使用类里面的对象吗?

Single.s=null前面不需要实例化类吗... Single.s=null前面不需要实例化类吗 展开
 我来答
珠娇霞朋楠
推荐于2017-09-29 · 超过16用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:52.2万
展开全部
声明为static的方法为静态方法或者叫类方法,声明static的变量为静态变量或者叫类变量。 类变量或者类方法不需要实例化一个对象就可以用类名加点来调用。

Single s = null ; 实际上只是声明了一个引用s,指定它为空,并没用new出来一个对象;

s = Single.getInstance();这句是关键,正如我上面所说的,这个getInstance()方法声明为Static,所以可以直接用类名加点加方法名字来直接调用也就是——————Single.getInstance();

而这个getInstance()方法返回的是类变量instance,可以看到第一句的 instance = new Single();
也就是说这个变量instance本身的值是新new出来一个Single对象的引用,指向了内存新new出来的一个single对象。

然后把这个引用的值给了原本为空的引用S,也就是说让S这个引用也指向了内存里新new出来的这个single对象
百度网友196c641ce3
2013-08-03
知道答主
回答量:5
采纳率:0%
帮助的人:7207
展开全部
可以,在抽象类实例化对象的时候,是不能用new关键字去实例化对象的,那么我们就必须在此类中定义static方法, 用类名.静态方法去实例化对象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ralfbawg
2013-08-03 · TA获得超过165个赞
知道答主
回答量:116
采纳率:0%
帮助的人:58.6万
展开全部
那里有一句 private static single instance = new single();
你没看到吗,这里就是初始化的,他这个getInstance()是为了保证只有一个该类的实例,就是设计模式中经常用到的单例模式,你可以去看下java的设计模式类的书籍就了解为什么要这样了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x369201170
2013-08-03 · TA获得超过426个赞
知道小有建树答主
回答量:570
采纳率:0%
帮助的人:364万
展开全部
必须实例化才能使用类成员方法。否则报错。
s=Single.getInstance();已经在给s实例化了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lihenglala
2013-08-03
知道答主
回答量:11
采纳率:0%
帮助的人:8.9万
展开全部
可以啊 定义static 就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式