我已经看过几次提到这个,我不清楚这是什么意思.你何时以及为何会这样做?
我知道接口有什么作用,但事实上我不清楚这一点让我觉得我错过了正确使用它们.
如果你这样做是这样的:
IInterface classRef = new ObjectWhatever()
Run Code Online (Sandbox Code Playgroud)
你可以使用任何实现的类IInterface吗?你什么时候需要这样做?我唯一能想到的是,如果你有一个方法,你不确定除了实现之外将传递什么对象IInterface.我想不出你需要多久做一次.
另外,你怎么能写一个接受实现接口的对象的方法?那可能吗?
好的,所以我知道Set,List并且Map是接口,但是什么使得第一行代码比第二行更好?
List myArr = new ArrayList();
ArrayList myArr = new ArrayList();
Run Code Online (Sandbox Code Playgroud) 在Java中,'Set'和'List'是从'Collection'接口派生的接口.如果我们使用代码:
import java.util.*;
public class SetExample{
public stactic void main(String[] args){
Set set = new HashSet();
//do something .....
}
}
Run Code Online (Sandbox Code Playgroud)
在"Collection"API中是否有一个类'Set',我们正在创建一个对象('set')?或者我们正在实例化一个界面'Set'?
我真的很困惑.......:O