我看到隔壁班:爲什麼有可能聲明一個返回正在創建的同一類的類型的方法?
public static class DetailsFragment extends Fragment {
public static DetailsFragment newInstance(int index) {
DetailsFragment f = new DetailsFragment();
// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
return f;
}
}
什麼,我不明白的是爲什麼你可以返回DetailsFragment型即使you're只是定義DetailsFragment是什麼。對於我來說(一個新手),就像在字典中搜索一個詞,定義使用這個詞來定義它。
請解釋。 在此先感謝。
那麼,一個類的構造函數也在類中。這就是實際用來構造類的實例的內容。那麼爲什麼類的靜態方法不能調用這個構造函數呢?沒有什麼可以解釋的。它不僅被允許,而且是一種常見的被稱爲工廠方法的模式。 –
您需要區分類和類本身的實例。類就像你的字典隱喻之後的定義。實例化一個類可以被看作是使用定義(更多的是模板)來創建實際的東西(例如* apple *是類* Apple *的一個實例)。 – jrook
你似乎有區別聲明一個類(以及類型)實例化該類(或類型)的對象的問題。 – Seelenvirtuose