java new接口是什么意思

Python028

java new接口是什么意思,第1张

return new SnatchResult<Map<String,Object>>()的后面不是有三个实现方法

通过接口 new 出来的是实现类,只是你在new 的时候就写了一个匿名的实现类,这个匿名的实现类的内容就是最后的那三个方法 getMetaData() getTotalHits() getTimeCost()

接口的设计主要还是为了实现多态的。

你这里觉得没区别是因为你只有一个UserServiceImpl实现类。

假设我们还有类A,B,C,他们都具有共同的行为regist。

假设我们还有个方法

void do(UserService us){

    //us.regist()

}

当然如果不用interface,那么你可能要定义4个方法来应对我们不同的对象了

void do(UserServiceImpl us){

    //us.regist()

}

void do(A us){

    //us.regist()

}

...

尽管他们方法体一样,要做的事一样。可是如果没有interface,我们还是要乖乖的这样做。

当然抽象类也可以这么用,但是因为一个类只能继承一个类,如果把抽象类拿来当接口用,那多态就是笑话了。