簡體   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