java中如何实现父类向子类的转换?

我在写一个文件浏览器,大致需求为在一个ComboBox中添加当前目录下所有的文件夹名称

我是用File类中的listFiles()获取当前目录下所有的File对象,然后add到ComboBox中

但是他会把整个路径名给显示出来,我猜是因为comboBox在添加的时候自动调用了File的toString()方法了,但是我的目的是只显示文件夹的名字,所以我为File类创建了一个子类,然后重写了一下toString()方法,让他的toString()只返回文件夹的名字

但是我遇到了一个问题,当我使用下面的代码时

MyFile[] s = (MyFile[])file.listFiles();

遇到了报错,提示的内容大概是不能强制类型转化

java.lang.ClassCastException: class [Ljava.io.File; cannot be cast to class [LMyFile; ([Ljava.io.File; is in module java.base of loader 'bootstrap'; [LMyFile; is in unnamed module of loader 'app')
    at CompilerUI.initComb(CompilerUI.java:65)
    at CompilerUI.initialize(CompilerUI.java:111)
    at CompilerUI.<init>(CompilerUI.java:46)
    at Main$1.run(Main.java:15)

请问我应该如何进行转化,或者说我为了实现这个功能可以换一种别的思路吗?

String[] filelist1 = file.list();
String[] filelist2 = file.list();
对filelist1由后往前扫描,遇到两个文件夹名称之间的/就停止
然后把停止点后面的内容复制到filelist2里

你的MyFile是个实体??

listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组

应该用file数组取接收才对(然后就能for循环每个file)
File[] fs = file.listFiles();

MyFile是我写的一个File类的子类,由于我需要重写一下toString(0函数,所以才自己派生了一个File的子类MyFile,但是file.listFiles()返回的是File类型的数组,所以我需要想办法把她转化为MyFile类型的,但是编译器提示我不允许这么转,