当前位置:  技术问答>java相关

关于interface使用的疑问,盼各位回答!

    来源: 互联网  发布时间:2015-04-06

    本文导语:  public class Man { private String name; private static int count; public Man(String name) { this.name=name; ++count; } public String getName() {return name;} public static int getCount() {return count;} } interface QueueInterface {           ...

public class Man
{
private String name;
private static int count;
public Man(String name)
{
this.name=name;
++count;
}
public String getName() {return name;}
public static int getCount() {return count;}
}


interface QueueInterface
{                                 //这是队列的使用者接口
public boolean isEmpty();        //队列(队伍)是否空白
public void addTail(String name);//将名为name的人从尾端加入
public Man removeHead();  //头端移出Man这个人
public void show();      //显示队列所有Man的姓名
}


class QueueClass implements QueueInterface
{
private int head;
private int tail;
private Man queue[];
public QueueClass()
{
head=tail=0;
queue=new Man[4];
}
public boolean isEmpty()
{
return (head==tail)?true:false;
}
public void addTail(String name)
{
if ((tail+1)%queue.length==head)
  System.out.println("队列满了"+name+"无法加入");
else
  queue[++tail % queue.length]=new Man(name);
}
public Man removeHead()
{
if (isEmpty())
{
System.out.println("队列空白");
return new Man("");
}
head=(head+1)% queue.length;
return queue[head];
}
public void show()
{
int p=head;
System.out.println("显示队列");
while(p!=tail)
{
p=(p+1)%queue.length;
System.out.println(queue[p].getName()+"");
}
System.out.println();
}
}


public class MyQueue 
{
private static QueueInterface q;
public static void main(String args[])
{
q=new QueueClass();  
q.addTail("张三");
q.addTail("李四");
q.addTail("王五");
while(!q.isEmpty())
{
q.show();
System.out.println("移出:"+q.removeHead().getName());
}
}
以上是四个文件,是一个使用接口的例子,我的疑问是: 
   q定义为接口,我要使用该接口中声明的方法,我还得知道实现这个接口的类,如上  
   (q=new QueueClass();  ),那我还不如直接把q定义为那个类.这样的话,接口的意义
   何在??
   书上说接口使数据抽象化了,只需要知道类中有哪些动作,不需要知道这些动作使如何操作的,但是以上这个例子说明要要接口,我必须知道实现这个接口的类,这是不是有些矛盾啊??

可能是我的理解有问题,欢迎各位大虾指点迷津!!!!最好能举个例子说明一下接口的真正用处!!!谢了!

|
描述希望做什么,和具体怎么做的细节问题一定要分开,这样才能保证系统灵活性。
况且java的类没有多重继承,必须要靠interface才能实现。

|
http://www.csdn.net/expert/topic/515/515188.xml

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang.reflect类modifier的类成员方法: interface定义及介绍
  • 百分求 驱动高手请进来libusb_claim_interface
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: interface定义及介绍
  • EJB的 Local Interface Access问题。
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: wsdl_interface定义参考
  • 即时聊天系统 InterFace
  • java命名空间javax.management类jmx的类成员方法: interface_class_name_field定义及介绍
  • 关于“虚基类”和“interface"
  • java命名空间java.security.interfaces接口rsakey的类成员方法: getmodulus定义及介绍
  • 关于Interfaces
  • java命名空间java.security.interfaces接口rsamultiprimeprivatecrtkey的类成员方法: getprimeq定义及介绍
  • interface 到底有什么用???实现接口,怎么实现??
  • java命名空间java.security.interfaces接口rsamultiprimeprivatecrtkey的类成员方法: getprimeexponentp定义及介绍
  • loopback interface是什么?
  • java命名空间java.security.interfaces接口rsaprivatecrtkey的类成员方法: getprimep定义及介绍
  • 機架式pc擁有12個網路chip如何得知封包由哪個interface出去的?
  • java命名空间java.security.interfaces接口rsaprivatecrtkey的类成员方法: getprimeexponentp定义及介绍
  • interfaces的extend???
  • java命名空间java.security.interfaces接口rsaprivatecrtkey的类成员方法: getcrtcoefficient定义及介绍
  • Mimic the iGoogle Interface
  • java命名空间java.security.interfaces接口rsaprivatecrtkey的类成员方法: getprimeq定义及介绍
  • 启动时遇到Bringing up interface eth0[failed]怎么回事


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3