预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Java面试问题:抽象类与接口的区别Java面试问题:抽象类与接口的区别很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题,Java面试问题:抽象类与接口的区别。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例:publicabstractclassGenericServletimplementsServlet,ServletConfig,Serializable{    //abstractmethod    abstractvoidservice(ServletRequestreq,ServletResponseres);     voidinit(){        //Itsimplementation    }    //othermethodrelatedtoServlet}当HttpServlet类继承GenericServlet时,它提供了service方法的实现:publicclassHttpServletextendsGenericServlet{    voidservice(ServletRequestreq,ServletResponseres){        //implementation    }     protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp){        //Implementation    }     protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp){        //Implementation    }     //someothermethodsrelatedtoHttpServlet}接口接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的`抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。以Externalizable接口为例:publicinterfaceExternalizableextendsSerializable{     voidwriteExternal(ObjectOutputout)throwsIOException;     voidreadExternal(ObjectInputin)throwsIOException,ClassNotFoundException;}当你实现这个接口时,你就需要实现上面的两个方法:publicclassEmployeeimplementsExternalizable{     intemployeeId;    StringemployeeName;     @Override    publicvoidreadExternal(ObjectInputin)throwsIOException,ClassNotFoundException{