如果我有一个类,比方说,从DialogFragment扩展并定义它的自定义构造函数,为什么我应该定义一个默认的类?如果发生运行时更改,我不会收到错误消息。为什么我需要定义自定义构造函数?
0
A
回答
3
我怀疑的问题是,在Java中,除非你指定一个自己编译器为您创建参数的构造函数。如果Android中的某些内容需要无参数的构造函数,那么或者您都不需要自己声明任何构造函数或您需要显式声明无参数构造函数。
与Java语言规范的section 8.8.9:
如果一个类不包含任何构造函数声明,则将自动提供一个默认的构造函数不带参数:
- 如果所声明的类原始类Object,那么默认的构造函数有一个空的体。
- 否则,默认构造函数不接受任何参数,只调用没有参数的超类构造函数。
这是否使事情清楚?我不太了解Android知道为什么需要无参数构造函数,但大概是这样的,可以通过反射创建实例,而无需为构造函数参数指定任何参数。
0
构造函数可能包含在创建对象时运行的代码。它有点像你想要完成的设置代码,所以对象已经准备好了它应该做的事情。
相关问题
- 1. 为什么构造函数未定义?
- 2. 为什么我不能将Symbol定义为构造函数?
- 3. 为什么使用Activator.CreateInstance时需要定义无参数构造函数?
- 4. 为什么用户定义的析构函数的插入需要一个用户定义的复制构造
- 5. 构造函数和onFinishInflate都不需要自定义视图
- 6. C++需要帮助使用自定义构造函数
- 7. 为什么要将Reader的构造函数参数定义为函数?
- 8. 使用@Autowired时,我需要定义一个构造函数吗?
- 9. 为什么JAVA需要构造函数?
- 10. xib文件和自定义构造函数的自定义UITableViewCell
- 11. 构造函数未定义
- 12. 定义构造函数NEWTYPE
- 13. AutoMapper TypeConverter自定义构造函数
- 14. Luabind中的自定义构造函数
- 15. 自定义构造函数和phpspec
- 16. Backbone.js自定义构造函数?
- 17. 为什么在函数中本地定义的结构需要赋值运算符和拷贝构造函数
- 18. 为什么说构造函数是未定义的?
- 19. 为什么原型未定义从构造函数返回?
- 20. 为什么不允许构造函数被重新定义?
- 21. 为什么MediaPlayer构造函数是未定义的?
- 22. 为什么值或构造函数'处理程序'未定义?
- 23. 构造函数在自定义适配器中未定义
- 24. 为什么默认构造函数和自定义构造函数是为UINavigaionController的子类调用的?
- 25. 我需要自定义tabBar
- 26. 使用自定义构造函数作为模板函数
- 27. 复制构造函数需要用互斥量明确定义
- 28. 在scala中构造函数定义语法需要说明
- 29. 为什么我的函数未定义?
- 30. 为什么需要browserify`paths`定义?
你可以重新说一句,所以它更清楚一点吗? – vickirk