我不知道爲什麼我無法覆蓋一種方法,但其他方法可以替代其他方法。@Override不適用於某種方法,但是適用於其他方法
這裏是我想在另一個類要覆蓋的方法(不與方法擴展類):
public static void onOk() throws Exception {
throw new Exception("test");
}
我試圖超越,但它說:「註釋這裏不允許」,但下面的方法有很多其他的方法只是被重寫。
@Override <- red underlined error "Annotation not allowed here"
InputAdressDialogFragment.onOk(){
}
@Override <- works! The compiler accepts
public View onCreateView(
在第一個例子中,你正在調用一個方法。在第二個例子中,你*聲明瞭一個方法。請注意,無論如何您都無法重寫靜態方法,並且*有*可以擴展一個類來覆蓋它的一個方法。你真的不清楚你想做什麼,說實話... –
你能看不到'@Override public View onCreateView(...'和'@Override InputAdressDialogFragment.onOk(){ '? –
你不能重寫'static'方法,要重寫一些方法,它必須在它的父類中可用,而且不是靜態的。這裏你直接調用方法名的類引用,所以不能'override' 'onOk()'方法 –