我想创建了一个布局,类似 Google play's。我使用 ViewPager ,需要 fragment。我查了一些资料说一个 fragment 需要一个空的构造函数,但是事例中在 developer.android.com 不包含一个构造函数。
事例代码如下:
public static class DemoObjectFragment extends Fragment {
public static final String ARG_OBJECT = "object";
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
// The last two arguments ensure LayoutParams are inflated
// properly.
View rootView = inflater.inflate(
R.layout.fragment_collection_object, container, false);
Bundle args = getArguments();
((TextView) rootView.findViewById(android.R.id.text1)).setText(
Integer.toString(args.getInt(ARG_OBJECT)));
return rootView;
}
}
需要在一个fragment中包含一个构造函数吗?或者直接省去构造函数?
Java 编译器会在没有构造函数的类中自动添加一个默认的无参构造函数(就是问题中提到的 "empty constructor")
下面的空类:
public class A {
}
等同于下面这个空的无参构造函数:
public class A {
public A() {
}
}
你要明确的添加一个无参构造函数当包含另一个只有一个或多个参数的构造函数,因为这样的话,编辑器就不能添加。
默认superClass就有一个无参的构造函数