有事点这里!

当前位置: 首页 >> IT技术 >> 面试大全 >> Java常见面试题集--面试题全面综合(二)

Java常见面试题集--面试题全面综合(二)

[ 来自:不祥 作者:网络收集 阅读:0 时间:2008-2-2 23:21:50 ]
Xml方面 1、xml有哪些解析技术?区别是什么? 答:有DOM,SAX,STAX等 DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问 STAX:Streaming API for XML (StAX) 2、你在项目中用到了xml技术的哪些方面?如何实现的? 答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。 3、用jdom解析xml文件时如何解决中文问题?如何解析? 答:看如下代码,用编码方式加以解决 package test; import java.io.*; public class DOMTest { private String inFile = "c:\people.xml"; private String outFile = "c:\people.xml"; public static void main(String args[]) { new DOMTest(); } public DOMTest() { try { javax.xml.parsers.DocumentBuilder builder = javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder(); org.w3c.dom.Document doc = builder.newDocument(); org.w3c.dom.Element root = doc.createElement("老师"); org.w3c.dom.Element wang = doc.createElement("王"); org.w3c.dom.Element liu = doc.createElement("刘"); wang.appendChild(doc.createTextNode("我是王老师")); root.appendChild(wang); doc.appendChild(root); javax.xml.transform.Transformer transformer = javax.xml.transform.TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312"); transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes"); transformer.transform(new javax.xml.transform.dom.DOMSource(doc), new javax.xml.transform.stream.StreamResult(outFile)); } catch (Exception e) { System.out.println (e.getMessage()); } } } 4、编程用JAVA解析XML的方式. 答:用SAX方式解析XML,XML文件如下: <?xml version="1.0" encoding="gb2312"?> <person> <name>王小明</name> <college>信息学院</college> <telephone>6258113</telephone> <notes>男,1955年生,博士,95年调入海南大学</notes> </person> 事件回调类SAXHandler.java import java.io.*; import java.util.Hashtable; import org.xml.sax.*; public class SAXHandler extends HandlerBase { private Hashtable table = new Hashtable(); private String currentElement = null; private String currentValue = null; public void setTable(Hashtable table) { this.table = table; } public Hashtable getTable() { return table; } public void startElement(String tag, AttributeList attrs) throws SAXException { currentElement = tag; } public void characters(char[] ch, int start, int length) throws SAXException { currentValue = new String(ch, start, length); } public void endElement(String name) throws SAXException { if (currentElement.equals(name)) table.put(currentElement, currentValue); } } JSP内容显示源码,SaxXml.jsp: <HTML> <HEAD> <TITLE>剖析XML文件people.xml</TITLE> </HEAD> <BODY> <%@ page errorPage="ErrPage.jsp" contentType="text/html;charset=GB2312" %> <%@ page import="java.io.*" %> <%@ page import="java.util.Hashtable" %> <%@ page import="org.w3c.dom.*" %> <%@ page import="org.xml.sax.*" %> <%@ page import="javax.xml.parsers.SAXParserFactory" %> <%@ page import="javax.xml.parsers.SAXParser" %> <%@ page import="SAXHandler" %> <% File file = new File("c:\people.xml"); FileReader reader = new FileReader(file); Parser parser; SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); SAXHandler handler = new SAXHandler(); sp.parse(new InputSource(reader), handler); Hashtable hashTable = handler.getTable(); out.println("<TABLE BORDER=2><CAPTION>教师信息表</CAPTION>"); out.println("<TR><TD>姓名</TD>" + "<TD>" + (String)hashTable.get(new String("name")) + "</TD></TR>"); out.println("<TR><TD>学院</TD>" + "<TD>" + (String)hashTable.get(new String("college"))+"</TD></TR>"); out.println("<TR><TD>电话</TD>" + "<TD>" + (String)hashTable.get(new String("telephone")) + "</TD></TR>"); out.println("<TR><TD>备注</TD>" + "<TD>" + (String)hashTable.get(new String("notes")) + "</TD></TR>"); out.println("</TABLE>"); %> </BODY> </HTML> EJB方面 1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS….. 2、EJB与JAVA BEAN的区别? 答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 3、EJB的基本架构 答:一个EJB包括三个部分: Remote Interface 接口的代码 package Beans; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Add extends EJBObject { //some method declare } Home Interface 接口的代码 package Beans; import java.rmi.RemoteException; import jaax.ejb.CreateException; import javax.ejb.EJBHome; public interface AddHome extends EJBHome { //some method declare } EJB类的代码 package Beans; import java.rmi.RemoteException; import javax.ejb.SessionBean; import javx.ejb.SessionContext; public class AddBean Implements SessionBean { //some method declare } J2EE,MVC方面 1、MVC的各个部分都有那些技术来实现?如何实现? 答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。 2、应用服务器与WEB SERVER的区别? 希望大家补上,谢谢 3、J2EE是什么? 答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。 4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 答:Web Service描述语言WSDL SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。 UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。 5、BS与CS的联系与区别。 希望大家补上,谢谢 6、STRUTS的应用(如STRUTS架构) 答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能: 一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。 二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。 三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。 设计模式方面 1、开发中都用到了那些设计模式?用在什么场合? 答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。 2、UML方面 答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图, JavaScript方面 1、如何校验数字型? Var re=/^d{1,8}$|.d{1,2}$/; var str=document.form1.all(i).value; var r=str.match(re); if (r==null) { sign=-4; break; } else{ document.form1.all(i).value=parseFloat(str); } CORBA方面 1、CORBA是什么?用途是什么? 答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为: 用不同的程序设计语言书写 在不同的进程中运行 为不同的操作系统开发 LINUX方面 1、LINUX下线程,GDI类的解释。 答:LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。 GDI类为图像设备编程接口类库。=================================================一些著名的大公司面试题目往往很基础. 一、Java基础知识1. Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。Integer literals,Floating-point literals,character literals,Boolean literal,String iteral.String 不是基本数据类型2. 字符串的操作:写一个方法,实现字符串的反转,如:输入abc,输出cba public static String reverse(String s){ int length=s.length(); StringBuffer result=new StringBuffer(length); for(int i=length-1;i>=0;i--) result.append(s.charAt(i)); return result.toString(); }写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。3. 数据类型之间的转换如何将数值型字符转换为数字(Integer,Double)如何将数字转换为字符如何去小数点前两位,并四舍五入。4. 日期和时间如何取得年月日,小时分秒Date dat=new Date();dat.getYear();dat.getMonth();dat.getDay();dat.getHours();…如何取得从1970年到现在的毫秒数long now=dat.getTime();如何获取某个日期是当月的最后一天如何格式化日期DateFormate df=DateFormate.getInstance();df.Format(dat);5. 数组和集合6. 文件和目录(I/O)操作如何列出某个目录下的所有文件如何列出某个目录下的所有子目录判断一个文件或目录是否存在如何读写文件7. Java多态的实现(继承、重载、覆盖)8. 编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。9. Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。10. 找出下列代码可能存在的错误,并说明原因:二、JSP&Servlet技术1. 描述JSP和Servlet的区别、共同点、各自应用的范围2. 在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & "")3. 在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。4. 描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。5. 列出Jsp中包含外部文件的方式,两者有何区别。6. 说明Jsp中errorPage的作用,应用范围。7. 介绍在Jsp中如何使用JavaBeans。8. 简单介绍JSP的标记库9. Jsp和Servlet中的请求转发分别如何实现。三、J2EE相关知识1. 介绍J2EE、J2SE、J2SE的区别。2. J2EE是一种技术还是一种平台,他提供了那些技术。3. 什么是Application Server,它有什么功能和优点。4. 简单介绍连接池的优点和原理。5. Web.xml的作用四、其他1. Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)2. 简单介绍您所了解的MVC。3. 简单介绍所了解的XML。4. 文档和编码规范5. Java中的分页、效率考虑。6. 简单介绍您所了解的structs。找出以下程序错误。Class Test{ private String par1; private String par2; Test(){ } public static void main(String[] arg){ int a ; if(a){ System.out.println("par1="+par1); }else{ System.out.println("par2=" + par2); } }}==================================public class Test { public static int a = 5; public static void main(String[] args) { Test test = new Test(); test = null; System.out.println(test.a); } } 答案是5,a为静态变量;不依赖对象,即使为空。J2EE初学者需要理解的问题 一、J2EE提出的背景 1、 企业级应用框架的需求 在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次再开发中都由开发人员来完成的话,将会造成开发周期长和代码可*性差等问题。于是许多大公司开发了自己的通用模块服务。这些服务性的软件系列统称为中间件。 2、 为了通用必须要提出规范,不然无法达到通用 在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。于是提出标准的概念。其实J2EE就是基于JAVA技术的一系列标准。 注:中间件的解释 中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。我们后面说到的容器的概念就是中间件的一种。 二、相关名词解释 容器:充当中间件的角色 WEB容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。 EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。 WEB容器和EJB容器在原理上是大体相同的,更多的区别是被隔离的外界环境。WEB容器更多的是跟基于HTTP的请求打交道。而EJB容器不是。它是更多的跟数据库、其它服务打交道。但他们都是把与外界的交互实现从而减轻应用程序的负担。例如SERVLET不用关心HTTP的细节,直接引用环境变量session,request,response就行、EJB不用关心数据库连接速度、各种事务控制,直接由容器来完成。 RMI/IIOP:远程方法调用/internet对象请求中介协议,他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。 JNDI:JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。 JMS:JAVA消息服务。 主要实现各个应用程序之间的通讯。包括点对点和广播。 JAVAMAIL:JAVA邮件服务。提供邮件的存储、传输功能。他是JAVA编程中实现邮件功能的核心。相当MS中的EXCHANGE开发包。 JTA:JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。 JAF:JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。 EAI:企业应用集成。是一种概念,从而牵涉到好多技术。J2EE技术是一种很好的集成实现。 三、J2EE的优越性 1、 基于JAVA 技术,平台无关性表现突出 2、 开放的标准,许多大型公司已经实现了对该规范支持的应用服务器。如BEA ,IBM,ORACLE等。 3、 提供相当专业的通用软件服务。 4、 提供了一个优秀的企业级应用程序框架,对快速高质量开发打下基础 四、现状 J2EE是由SUN 公司开发的一套企业级应用规范。现在最高版本是1.4。支持J2EE的应用服务器有IBM WEBSPHERE APPLICATION SERVER,BEA WEBLOGIC SERVER,JBOSS,ORACLE APPLICATION SERVER,SUN ONE APPLICATION SERVER 等。 学习Java的30个基本概念 Java概述:目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出.Java的白皮书为我们提出了Java语言的11个关键特性.(1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb.(2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的web server都支持servlet.(3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C++有很多不同,在与多重继承的处理及Java的原类模型.(4)健壮特性:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能性。(5)安全:Java用来设计网路 和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这一方面做的比较好.(6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行.(7)可移植性:Java中对基本数据结构类型的大小和算法都有严格的规定所以可移植性很好.(8)多线程:Java处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之一(9)Applet和servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的网页,这是很多其他语言所不能做到的.基本概念:1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率.2.OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance)3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)4.通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍.5.对象的3个主要特性 behavior---说明这个对象能做什么. State---当对象施加方法时对象的反映.Identity---与其他相似行为对象的区分标志.每个对象有唯一的indentity 而这3者之间相互影响.6.类之间的关系:use-a :依赖关系has-a :聚合关系is-a :继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于共性中)7.构造对象使用构造器:构造器的提出,构造器是一种特殊的方法,构造对象并对其初始化.例:Data类的构造器叫Datanew Data()---构造一个新对象,且初始化当前时间.Data happyday=new Data()---把一个对象赋值给一个变量happyday,从而使该对象能够多次使用,此处要声明的使变量与对象变量二者是不同的.new返回的值是一个引用.构造器特点:构造器可以有0个,一个或多个参数构造器和类有相同的名字一个类可以有多个构造器构造器没有返回值构造器总是和new运算符一起使用.8.重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载.编译器必须挑选出调用哪个方法.9.包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java,net等,包是分层次的所有的java包都在java和javax包层次内.10.继承思想:允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段.11.扩展类:扩展类充分体现了is-a的继承关系. 形式为:class (子类) extends (基类).12.多态:在java中,对象变量是多态的.而java中不支持多重继承.13.动态绑定:调用对象方法的机制.(1)编译器检查对象声明的类型和方法名.(2)编译器检查方法调用的参数类型.(3)静态绑定:若方法类型为priavte static final 编译器会准确知道该调用哪个方法.(4)当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用x所指向的对象的实际类型相匹配的方法版本.(5)动态绑定:是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码.14.final类:为防止他人从你的类上派生新类,此类是不可扩展的.15.动态调用比静态调用花费的时间要长,16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract例: public abstract string getDescripition17.Java中的每一个类都是从Object类扩展而来的.18.object类中的equal和toString方法.equal用于测试一个对象是否同另一个对象相等.toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法)19.通用编程:任何类类型的所有值都可以同object类性的变量来代替.20.数组列表:ArrayList动态数组列表,是一个类库,定义在java.uitl包中,可自动调节数组的大小.21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类.22.class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具.能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大.1.在运行时分析类的能力.2.在运行时探察类的对象.3.实现通用数组操纵代码.4.提供方法对象.而此机制主要针对是工具者而不是应用及程序.反射机制中的最重要的部分是允许你检查类的结构.用到的API有:java.lang.reflect.Field 返回字段.Java.reflect.Method 返回方法.Java.lang.reflect.Constructor 返回参数.方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案.23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface.24.接口不是一个类,而是对符合接口要求的类的一套规范.若实现一个接口需要2个步骤:1.声明类需要实现的指定接口.2.提供接口中的所有方法的定义.声明一个类实现一个接口需要使用implements 关键字class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.25.一个类只有一个超类,但一个类能实现多个接口.Java中的一个重要接口Cloneable26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法.例:ActionListener 接口监听.类似的API有:java.swing.JOptionPanejava.swing.Timerjava.awt.Tookit27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它.28.内部类:一个内部类的定义是定义在另一个内部的类原因是:1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据2.对于同一个包中的其他类来说,内部类能够隐藏起来.3.匿名内部类可以很方便的定义回调.4.使用内部类可以非常方便的编写事件驱动程序.29.代理类(proxy):1.指定接口要求所有代码 2.object类定义的所有的方法(toString equals)30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型.更多相关面试题请参阅这里:

奥运您知道

动漫情报

影视广场

IT技术

相关文章

QQCAT(www.qqcat.com),资源信息,免费观看。本站所有信息均来自网上,如损害到您的利益,请及时联系我们!
QQCAT版权所有©2007