接口是不能直接实例化的,你这里的d必然是某一个实现了IDependency 借口的class传递进来的。
不过也经常这样用到,看上去是直接实例化:
Runnable task = new Runnable() {
public void run() {
..
}
};
这里必然要实现接口的方法。
这里是对接口的引用,并不是对接口的实例化,这是接口的引用做为方法的参数,当实现这个方法的时候,必须要对这个接口进行实现后,传入对应实现类的对象,当然这里也可以用匿名类来直接实现,接口的引用存在很多底层的源码中,比如集合中Collection接口中,对Iterator
你概念不清啊,接口是不能实例化的,不过可以声明一个接口的引用变量,让它指向一个类的实例,当然那个类要实现了那个接口的
哪里实例化了啊,没有被实例化啊,接口是不能被实例化的啊,这里只是引用并没有new!
接口不能实例化