关于java中接口与实现的问题???求大侠指教??
java中用接口声明对象用具体的子类创建该实例,比如:Queue queue=new LinkedList();请问queue中的方法是不是即有Queue的又有LinkedList的???
------解决方案--------------------queue只是一个Queue型变量(其实质是个指针),它不包含任何属性和方法。
Queue queue=new LinkedList();的意思是将Queue型变量指向一个LinkedList类型的实例(这个实例包含LinkedList类定义的所有属性及方法)。注:LinkedList类实现了Queue接口意味着Queue接口定义的方法为LinkedList类方法的一个子集。
但由于queue是一个Queue型变量,通过它只能访问Queue接口定义的方法,而不能访问LinkedList类中定义的其它方法,例如:
Java code
queue.add(new Integer(1)); // 这样使用正确
//queue.removeFirst(); // 这样使用通不过编译
------解决方案--------------------