extends File,然后public覆盖指定的File方法。File file = new File("");
FileExtend myfile = (FileExtend )file;

解决方案 »

  1.   

    extends File,然后public覆盖指定的File方法。File file = new File("");
    FileExtend myfile = (FileExtend )file;是用后者覆盖前者吗!
    应该是FileExtend myfile = (File)file;吧
      

  2.   

    我是这样做的亚,可是会报java.lang.ClassCastException亚?怎么回事?
      

  3.   

    写一个类,里面的一个field是file,然后知提供一些需要的方法,想隐藏的不提供。
      

  4.   

    原先有一个File对象,我是想得到FileExtend对象!用FileExtend myfile = (FileExtend )file;会报java.lang.ClassCastException;
    用FileExtend myfile = (File)file;根本编译不过去!
      

  5.   

    从File到FileExtend的转换是从父类到子类的转换,因此这个File对象必须本身就是FileExtend类型的。否则就会出现类型转换异常。
    因此要实现上面的功能不能采用继承的方式。
      

  6.   

    用Decorator模式
    如下
           class MyFile{
             File file =;//
             
           }
      

  7.   

    同意楼上的,自己写个新类,里面有个私有的File自段,构造函数里面把一个File类的实例传进来,然后不想覆盖的方法直接委托给file实例完成,覆盖的方法自己实现不就行了。就像这样:
    class MyFile{
        File instance;
        public MyFile(File in){instance = in;}
        //不想覆盖的方法
        public methodA(){
          return restance.methodA();
        }
        //想自己实现的方法
        public methodB(){
          //do something
        }
    }