在一个类中,有多个重载的方法,例如:public class Test()
{
  public String operate(File f)
  {
    FileInputStream fis = new FileInputStream(f);
    return operate(fis);
  }
  public String operate(InputStream is )
  {    byte[] b = new byte[is.avalidate()];
    is.read(b); 
     return basicoperate(b);
   }
  private String basicoperate(byte [] b)
  {
    ..........
     return s;
   }}这样做有什么优点或缺点?
我觉得这样减少了重复的代码,可是感觉是不是在效率上有什么问题,还是依赖性方面,请大家讨论一下

解决方案 »

  1.   

    可读性健壮性比较好,
    有一个例子你体会一下。
    几个方法实现的功能相同但是参数不同,如果不用重载,不容易知道哪些方法实现了你想要的功能,你就不好去选择。
    如果用重载的话,我现在要实现一个read的功能,我在开发工具写o.read的时候,所有重载的方法都出来了,我可以根据他们文档注释里的参数说明来决定我到底调用哪一个
      

  2.   

     public String operate(File f)
      {
        FileInputStream fis = new FileInputStream(f);
        ...........
    ...........
      }就这一个方法实现功能..
    假设在外部就是传来一个FileInputStream流,岂不郁闷...靠.维护别人代码时候,一个方法很长,结果我只需要方法中的一半就可以了..不得不摘抄出来另写一个.
      

  3.   

    java从1。5才开始加入模版。原来的方法都是通过重载来设计的,看那十来个println方法吧。
      

  4.   

    ZangXT喜欢用C++不代表别人也要用啊!
    各个语言由各自的特点,你怎么就不说人家java的优势呢?这样的见解在这个地方不适合发表。