为什么更多主流的静态类型语言不支持返回类型的函数/方法重载?我想不出那样做.通过参数类型支持过载似乎没有那么有用或合理.怎么这么不受欢迎呢?
programming-languages overloading language-design function-calls
为什么仅通过更改返回类型来重载函数是不可能的?这将在未来的Java版本中发生变化吗?
那么,仅供参考,这在C++中是否可行?
我知道,关于这个话题已经有至少一个问题了.但是我想再问一遍,因为这是我在javadoc中Class#getDeclaredMethod(...)发现的:
如果在类中声明了多个具有相同参数类型的方法,并且其中一个方法的返回类型比任何其他方法更具体,则返回该方法; 否则任意选择其中一种方法.
因此,java中反射的开发人员认为这种情况可能是一个问题,或许毕竟可能做这样的声明吗?或者它可能只是被弃用了?
Eclipse给我一个返回类型不兼容的错误,我已经覆盖了一个继承的方法.
我有一个通用的SomeQueue类,它扩展了LinkedList并实现了泛型,这是我的通用SomeList类
public abstract class SomeQueue<T> extends LinkedList<T> implements SomeList<T>{
private int capacity=100;
public SomeQueue(){
super();
Queue<E> tqueue=new LinkedList<T>();
T front=null;
T back=null;}
@Override
public boolean isEmpty(){}
@Override
public E get(int index){}
@Override
public int size(){}
@Override
public void add(T thing){}
@Override
public E removeEnd(){}
@Override
public void addFirst(T thing){}
@Override
public T remove(int index){}
}
Run Code Online (Sandbox Code Playgroud)
这是我的SomeList界面
public interface SomeList<T>{
public boolean isEmpty();
public T get(int index);
public int size();
public void add(T item);
public T removeEnd();
public void addFirst(T …Run Code Online (Sandbox Code Playgroud)