我不知道为什么我无法覆盖一种方法,但其他方法可以替代其他方法。@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()'方法 –