当前位置: 代码迷 >> J2SE >> 关于调用方法时是否默认调用构造器,该如何解决
  详细解决方案

关于调用方法时是否默认调用构造器,该如何解决

热度:44   发布时间:2016-04-24 02:00:59.0
关于调用方法时是否默认调用构造器
单子模式,请问当SingletonPattern.getInstance()时,是否会默认先调用一下构造器private SingletonPattern()?

Java code
public class SingletonPattern {   private double r;   private static SingletonPattern sp;   private SingletonPattern(){       r = java.lang.Math.random();   }   public static SingletonPattern getInstance(){       if(sp == null){           sp = new SingletonPattern();       }       return sp;   }   public double getR(){       return r;   }   public static void main(String[] args) {       SingletonPattern sp1 = SingletonPattern.getInstance();       SingletonPattern sp2 = SingletonPattern.getInstance();       System.out.println(sp1.getR());       System.out.println(sp2.getR());       }}





------解决方案--------------------
楼主的程序输出结果给不了自己答案吗?
------解决方案--------------------
不会的
------解决方案--------------------
是否会默认先调用一下构造器private SingletonPattern()?
不会
------解决方案--------------------
探讨
引用:
不会的


那要private SingletonPattern(){
      r = java.lang.Math.random();
  }
还有什么用吗?直接定义一次r = java.lang.Math.random();不得了,为何还要把它放在构造器中啊?

  相关解决方案