当前位置: 代码迷 >> Android >> 构造函数跟onCreate()函数有什么区别
  详细解决方案

构造函数跟onCreate()函数有什么区别

热度:21   发布时间:2016-05-01 13:29:00.0
构造函数和onCreate()函数有什么区别?
Android里面有的类有构造函数,
有的类没有构造函数,
但是onCreate()函数每个类都有,
这两种函数有什么区别啊?

------解决方案--------------------
onCreate是ActivityThread在new Activity后,调用的
------解决方案--------------------
构造函数是Java的,默认都有的,即便没有显式的定义;

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


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

------解决方案--------------------
1. 构造函数是每个类都有的,即使类的实现中没有显示的写构造函数,在构造的时候也会执行它的父类的构造函数
2. 还有一些类创建的时候是用一个静态函数创建的类本身,并返回创建的这个类,这个可能是很多都比较迷惑的吧,比如Message类通常通过Message.obtain()函数来返回一个Message实例,实际上它的实现是这样的
Java code
     public static Message obtain() {         synchronized (mPoolSync) {             if (mPool != null) {                 Message m = mPool;                 mPool = m.next;                 m.next = null;                 return m;             }         }         return new Message();     }