[英]Does public static AutocompleteSessionToken newInstance () return same instance?
[英]Java: public static newInstance()
有人可以解释这段代码的作用。 例如,第二个声明是做什么的? 即public static AlertDialogFragment newInstance()
在这里:
public static class AlertDialogFragment extends DialogFragment {
public static AlertDialogFragment newInstance() {
return new AlertDialogFragment();
}
在android中,当你的类扩展Fragment时,它需要一个没有参数的构造函数(或根本没有构造函数)但是如果你想在创建它时为片段的每个对象设置一些东西,你可以做以下事情:
public static class AlertDialogFragment extends DialogFragment {
private int value=0;
public static AlertDialogFragment newInstance(int value) {
AlertDialogFragment instance=new AlertDialogFragment();
instance.value=value;
return instance;
}
}
现在通过调用以下方法获取AlertDialogFragment
对象:
AlertDialogFragment fragment=AlertDialogFragment.newInstance(10);
在你的情况下, newInstance
方法没有实现太多。
只需创建一个AlertDialogFragment
的新实例并返回。
通常我们创建instnace就好
AlertDialogFragment adf = new AlertDialogFragment();
在你的情况下
AlertDialogFragment adf = AlertDialogFragment.newInstance();
看,没有区别。
newInstanse()是java.lang.Class的一个方法,它将创建指定的类类型的新实例。 它将简单地调用默认构造函数,类似于我们调用时的操作,
Class instance = new Class();
它的文档说:
java.lang.Class.newInstance()创建此Class对象表示的类的新实例。 该类实例化为具有空参数列表的新表达式。 如果尚未初始化,则初始化该类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.