Android 是否可以从抽象类调用方法?

Android 是否可以从抽象类调用方法?,android,methods,abstract-class,Android,Methods,Abstract Class,我有如下抽象类: AbstractFilePickerFragment.java public abstract class AbstractFilePickerFragment<T> extends ListFragment implements LoaderManager.LoaderCallbacks<List<T>> .... .... public void GoBackToPreviousDirectory() { c

我有如下抽象类:

AbstractFilePickerFragment.java

public abstract class AbstractFilePickerFragment<T> extends ListFragment
        implements LoaderManager.LoaderCallbacks<List<T>>

....

....

public void GoBackToPreviousDirectory() {
    currentPath = getParent(currentPath);
    refresh();
  }
}
公共抽象类AbstractFilePickerFragment扩展了ListFragment
实现LoaderManager.LoaderCallbacks
....
....
public void GoBackToPreviousDirectory(){
currentPath=getParent(currentPath);
刷新();
}
}
OtherActivity.java

private AbstractFilePickerFragment<T> mAbstractFilePickerFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_ACTION_BAR);
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_layout);

   //THIS LINE SAYS "Cannot instantiate the type AbstractFilePickerFragment"
    mAbstractFilePickerFragment = new AbstractFilePickerFragment();
}

    public void GoBackToPreviousDir_onClick(MenuItem item) {
        mAbstractFilePickerFragment.GoBackToPreviousDirectory();
    }
}
private AbstractFilePickerFragment mAbstractFilePickerFragment;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
requestWindowFeature(窗口.功能\u操作\u栏);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_布局);
//这一行表示“无法实例化AbstractFilePickerFragment类型”
mAbstractFilePickerFragment=新的AbstractFilePickerFragment();
}
public void GoBackToPreviousDir\u onClick(菜单项){
mAbstractFilePickerFragment.GoBackToPreviousDirectory();
}
}
如果可以从AbstractFilePickerFragment类调用GoBackToPreviousDirectory,是否有人会这样做

我知道静态方法可以工作,但我不能为这种情况创建静态方法


非常感谢您的帮助

否。首先,您不调用类中的方法。当对象是类的实例时,调用对象方法。抽象类无法实例化。

否。首先,您不能从类调用方法。当对象是类的实例时,调用对象方法。抽象类无法实例化。

要调用非静态方法,必须实例化该类

根据定义,抽象类不能实例化。所以答案是否定的


如果仍然需要访问该方法,则必须创建一个扩展抽象类的类,并实现该类中的所有方法。然后可以在程序中实例化扩展类并调用该方法

为了调用非静态方法,必须实例化该类

根据定义,抽象类不能实例化。所以答案是否定的


如果仍然需要访问该方法,则必须创建一个扩展抽象类的类,并实现该类中的所有方法。然后可以在程序中实例化扩展类并调用该方法

非常感谢。你能给我一个“扩展抽象类并实现类中所有方法的类”的例子或链接吗?非常感谢。你能给我一个例子或链接“一个扩展抽象类并实现类中所有方法的类”吗?我非常感激。谢谢,非常感谢。非常感谢