为什么在单例中,没有实例化的静态类,也能使用getInstance()方法?这个方法是哪里来的?

为什么在单例中,没有实例化的静态类,也能使用getInstance()方法?这个方法是哪里来的?

为什么在单例中,没有实例化的静态类,也能使用getInstance()方法?这个方法是哪里来的?

public class Emperor{
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

getInstance()方法是类中的静态方法,无需对象调用,直接“类名.”的方式就可以调用了。

  • 木木灬菌 提问者 #1
    实例化是给对象在内存分配空间,给里面的构造方法、属性和方法分配空间,才能从内存调用。 静态类在程序运行初期就已经作为对象加载到内存了吗?不然怎么可以凭空从内存获取getInstance()方法呢?
    2018-05-07 09:02:51
  • 木木灬菌 提问者 #2
    这个单例案例就是为了外部可以且仅可以通过一个接口实例化静态类Emperor,才能使用里面的方法。还没实例化就使用了getInstance方法,就跟用盒子里的钥匙打开盒子似的,究竟是怎么样的?
    2018-05-07 09:05:28
  • irista23 回复 提问者 木木灬菌 #3
    类加载期间,如果发现有静态属性或方法,就给对应的静态属性方法分配内存空间并赋值
    2018-05-07 10:11:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师