<分区>
public class MyListFragment extends ListFragment {...}
ListFragment listFragment = new MyListFragment();
ListFragment listFragment = (ListFragment) new MyListFragment();
这两行都没有编译“无法从 MyListFragment 转换为 ListFragment”。
<分区>
public class MyListFragment extends ListFragment {...}
ListFragment listFragment = new MyListFragment();
ListFragment listFragment = (ListFragment) new MyListFragment();
这两行都没有编译“无法从 MyListFragment 转换为 ListFragment”。
最佳答案
您尝试执行的操作绝对有效,因此在您描述的代码之外一定存在导致问题的原因。以下代码编译。
class A {
}
class B extends A {
}
private void test() {
B b = new B();
A a = b;
A a2 = (A)b;
A a3 = new B();
A a4 = (A)new B();
}
很可能你有一个错误的导入,两个同名的类,你从错误的包中导入了一个。
关于java - "Cannot cast"子类到父类(super class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20675737/
相关文章:
android - TextInputLayout.setError() 抛出异常。为什么以及如何解决?
Android 2.2 实现 Runnable Public void run() 未被调用
Python类继承: AttributeError: '[SubClass]' object has no attribute 'xxx'
java - 随机选择子节点后如何获取 Firebase 实时数据库中子节点的 key
android - 如何在 Android Studio 中访问 Android 引用