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