繁体   English   中英

Java:public static newInstance()

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM