How would I overload method in an interface?

前端 未结 4 963
一个人的身影
一个人的身影 2021-02-09 00:30

if I have this interface

public interface someInterface {
  // method 1
  public String getValue(String arg1);
  // method 2
  public String getValue(String arg1         


        
4条回答
  •  轮回少年
    2021-02-09 00:49

    A solution (not very elegant) might look loke this:

    public abstract class SomeClass {
       public String getValue(String arg1) {
          throw new IllegalArgumentException();
       }
       public String getValue(String arg1, String arg2) {
          throw new IllegalArgumentException();
       }
    }
    
    public class SomeClass1 extends SomeClass {
       public String getValue(String arg1) {
          // return sth
       }
    }
    
    public class SomeClass2 extends SomeClass {
       public String getValue(String arg1, String arg2) {
          // return sth
       }
    }
    

    However there's a drawback - SomeClass1 and SomeClass2 can't inherit directly other class.

提交回复
热议问题