在一个类中,有多个重载的方法,例如: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;
}}这样做有什么优点或缺点?
我觉得这样减少了重复的代码,可是感觉是不是在效率上有什么问题,还是依赖性方面,请大家讨论一下
有一个例子你体会一下。
几个方法实现的功能相同但是参数不同,如果不用重载,不容易知道哪些方法实现了你想要的功能,你就不好去选择。
如果用重载的话,我现在要实现一个read的功能,我在开发工具写o.read的时候,所有重载的方法都出来了,我可以根据他们文档注释里的参数说明来决定我到底调用哪一个
{
FileInputStream fis = new FileInputStream(f);
...........
...........
}就这一个方法实现功能..
假设在外部就是传来一个FileInputStream流,岂不郁闷...靠.维护别人代码时候,一个方法很长,结果我只需要方法中的一半就可以了..不得不摘抄出来另写一个.
各个语言由各自的特点,你怎么就不说人家java的优势呢?这样的见解在这个地方不适合发表。