关于static方法调用
问:java什么时候可以直接用类名调用方法?
答:
1. 方法是static的 ,则可以用类名调用 eg:BaseDao.getConnection();否则就需要new一个对象调用
原因:
- 静态方法跟非静态方法主要的区别在于生命周期。
- 静态方法的生命周期从进程被创建就开始了,直到进程结束,所以说静态方法是全局的,贯穿整个进程。
- 非静态方法的生命周期,从类实例化对象开始,直到实例对象被注销回收之后结束。
2.注意:如果该类没有对应的构造方法就会造成不能new,因此就需要调用静态方法来生成对象(因为静态方法可以创建自身的对象)
java中一个类中没有公共的构造方法,则说明不能让外界去new对象。
         有以下几种情况:
   A:成员全部是静态的(如:Math类,Arrays数组工具类,Collections集合工具类)
   B:单例设计模式(如:Runtime运行时类)
   C:类中有静态方法返回该类的对象(如:InetAddress)
   
 示例:
       class Demo {
          private Demo(){} // 有私有构造方法,没有公有构造方法
  
         public static Demo getXxx() {
          return new Demo(); // 返回该类对象
        }
         }
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号