为什么以下不起作用?这样投不可能吗?
我收到错误: java.lang.ClassCastException: java.io.File cannot be cast to MyMusicFile
public class MyMusicFile extends java.io.File
{
public MyMusicFile(String pathname)
{
super(pathname);
}
public String artist;
public String album;
public String track;
public String year;
}
main(String[] args)
{
File file = new File("/home/1.txt");
MyMusicFile mmf = (MyMusicFile) file;
}
Run Code Online (Sandbox Code Playgroud)
如果MyMusicFile延伸File,那么MyMusicFile也是一个File,但这不会成为File一个MyMusicFile.如果列出每个班级的所有超级课程,您将获得:
你可以在任何类型分配给它的类型或任何其他超类型(说Object来File,或文件到MyMusicFile).
您可以这样想:MyMusicFile拥有所有字段和方法File,以及一些额外的字段和方法.因此,将一个实例分配MyMusicFile给a File是安全的,因为它可以工作(具有所有必需的东西),但是File没有所有的东西MyMusicFile(缺少额外的东西),所以它不起作用.
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |