日期:2014-05-20  浏览次数:20630 次

关于interface问题
为什么在java里面实现一个接口的时候
里面的方法只实现其中几个,而有的接口
里面的方法可以直接拿来使用呢

------解决方案--------------------
interface 是一个抽象的 实现时 必须实现它里面所有的方法
至于你写的 看不明白 写的什么
------解决方案--------------------
实现接口的方法可以什么都不干,但是不实现是不行滴
------解决方案--------------------
你或许不知道,接口有一个重要的作用就是拿来引用它所实现的类.
例如:
List li=new ArrayList(); List是一个接口,但ArrayList是一个类,它有实现List这个接口.
既然ArrayList实现了List,那么List里的抽象方法都被ArrayList实现,我们就可以用
li.add(Object o)等List具有的方法.
------解决方案--------------------
Iterator it= list.iterator();//返回一个迭代容器给it
if(it.hasNext()){ //如果此扫描器的输入中有另一个标记,则返回 true
.....
}
在这个例子中接口it可以用hasNext()方法,而且这个方法已经被类Scanner实现了!

------解决方案--------------------
1.接口不能 new
你继承了一个 接口 就继承了他的所以 抽象方法

2.接口 也是 类
之所以 List li=new ArrayList();
是因为 接口List 是父类 ArrayList实现了 List 接口 List指向了子类的引用


------解决方案--------------------
comparator接口为什么使用的时候只实现了compare()方法呢?
--------------------
comparator接口有两个方法要实现,一个compare(),一个是equals()
Object 已经有实现了equals();
因为所有对象都是Object的子类,所以他们也都有equals(),故不需要再实现equals,当然有特殊情况,你还是需要重写equals