我有一个在其中声明变量并在构造函数中对其进行初始化的类。当我的代码中只有一个构造函数时,一切都可以正常工作。当我添加另一个构造函数时,会发生此问题。这两个构造函数的一切都相同,但是只有构造函数的参数不同。知道为什么会这样吗?
private final NavDrawerManager.OnDrawerItemClickListener mOnDrawerItemClickListener;
private final MoreMenuActivity.OnItemClickListener mOnItemClickListener;
public NavMenuAdapter(final List<NavMenuItem> menuItems, final String selectedId, final NavDrawerManager.OnDrawerItemClickListener onDrawerItemClickListener) {
mMenuItems = menuItems;
mSelectedId = selectedId;
mOnDrawerItemClickListener = onDrawerItemClickListener;
}
public NavMenuAdapter(final List<NavMenuItem> menuItems, final String selectedId, final MoreMenuActivity.OnItemClickListener onItemClickListener) {
mMenuItems = menuItems;
mSelectedId = selectedId;
mOnItemClickListener = onItemClickListener;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您将属性声明为final,但是构造函数并未全部初始化它们。
private final NavDrawerManager.OnDrawerItemClickListener mOnDrawerItemClickListener;
private final MoreMenuActivity.OnItemClickListener mOnItemClickListener;
Run Code Online (Sandbox Code Playgroud)
每次构造实例时,它都应该初始化所有最终属性。
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |