java實例化介面
❶ java介面可以實例化嗎
介面是不能直接實例化的,你這里的d必然是某一個實現了IDependency
借口的class傳遞進來的。
不過也經常這樣用到,看上去是直接實例化:
Runnable
task
=
new
Runnable()
{
public
void
run()
{
..
}
};
這里必然要實現介面的方法。
❷ 為什麼java可以實例化介面
Java中介面是不能被new出來的,平時開發中介面都有自己的實現類,這樣可以把子類實例化然後賦值給父類,比如 PersonService personService = new PersonServiceImpl();現在我們項目都使用Spring管理,通過註解來注入,private PersonService personService;然後在上面加入一個@Autowrite註解,這個註解也是把子類實例化賦值給父類了,這也就是我們常常說的多態.
❸ 請問JAVA介面能實例化嗎如果能請舉例說明下好嗎
如果你看見過介面實例化的例子,那隻是內部匿名類 還是要覆寫介面中的方法體
比較常見的例子 是Swing里的
EventQueue.invokeLater(new Runnable(){
public void run(){
...............
}
});
還有一些 new ActionListener()之類的內部匿名類,這些匿名類也只是實現了這些介面,並且必須覆寫介面的中的方法。
總而言之 ,介面是不能實例化的,因為介面中只有方法名稱,沒有方法體,所以沒辦法實例化
對於一些實現了介面的內部匿名類,雖然表面形式是介面被new 出來了,但是不要被表象迷惑了,多熟悉一下這種寫法,就自然知道其本質只是一個 實現了某種介面的類