Android里面有的类有构造函数,
有的类没有构造函数,
但是onCreate()函数每个类都有,
这两种函数有什么区别啊?

解决方案 »

  1.   

    onCreate是ActivityThread在new Activity后,调用的
      

  2.   

    构造函数是Java的,默认都有的,即便没有显式的定义;onCreate()是Android Activity框架体系内的。
      

  3.   

    1.构造函数任何类都有。有的是隐式的,有的是显式的。这个和java等其他OO是一样的。
    2.onCreate这样onXX开头的,一般都是android系统的回调函数。或者是Activity等组件的生命周期回调函数。
    他们的相同点是:都是Activity等组件的函数,一个是构造函数,另外一个是回调函数。
    他们的不同点是:构造函数调用是通过new Activity();,回调函数式Androi系统的ActivityThread等在不同的Activity生命周期或触发条件下的调用。
      

  4.   

    1. 构造函数是每个类都有的,即使类的实现中没有显示的写构造函数,在构造的时候也会执行它的父类的构造函数
    2. 还有一些类创建的时候是用一个静态函数创建的类本身,并返回创建的这个类,这个可能是很多都比较迷惑的吧,比如Message类通常通过Message.obtain()函数来返回一个Message实例,实际上它的实现是这样的     public static Message obtain() {
             synchronized (mPoolSync) {
                 if (mPool != null) {
                     Message m = mPool;
                     mPool = m.next;
                     m.next = null;
                     return m;
                 }
             }
             return new Message();
         }3. onCreate(应该)是一个Listener,win编程的时候叫做事件吧,就是在创建实例对象后可以给这个方法赋值。因为你不可能把所有的方法写到一个类里,所以这个类得抛出一个接口让你去实现一些功能。