请问JAVA接口能实例化吗如果能请举例说明下好吗

Python017

请问JAVA接口能实例化吗如果能请举例说明下好吗,第1张

如果你看见过接口实例化的例子,那只是内部匿名类 还是要覆写接口中的方法

比较常见的例子 是Swing里的

EventQueue.invokeLater(new Runnable(){

public void run(){

...............

}

})

还有一些 new ActionListener()之类的内部匿名类,这些匿名类也只是实现了这些接口,并且必须覆写接口的中的方法。

总而言之 ,接口是不能实例化的,因为接口中只有方法名称,没有方法体,所以没办法实例化

对于一些实现了接口的内部匿名类,虽然表面形式是接口被new 出来了,但是不要被表象迷惑了,多熟悉一下这种写法,就自然知道其本质只是一个 实现了某种接口的类

接口是不能直接实例化的,你这里的d必然是某一个实现了IDependency 借口的class传递进来的。

不过也经常这样用到,看上去是直接实例化:

Runnable task = new Runnable() {

public void run() {

..

}

}

这里必然要实现接口的方法。

Java中接口是不能被new出来的,平时开发中接口都有自己的实现类,这样可以把子类实例化然后赋值给父类,比如 PersonService personService = new PersonServiceImpl()现在我们项目都使用Spring管理,通过注解来注入,private PersonService personService然后在上面加入一个@Autowrite注解,这个注解也是把子类实例化赋值给父类了,这也就是我们常常说的多态.