《java面试题全攻略.docx》由会员分享,可在线阅读,更多相关《java面试题全攻略.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA程序员面试32问第一,谈谈 final, finally, finalize 的区别。final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能 作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或 方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给 定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用, 不能重载finally-再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配 的catch子句就会执行,然后控制
2、就会进入finally块(如果有的话)。finalize-方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去 之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象 调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalizeO方法 以整理系统资源或者执行其他清理工作。finalizeO方法是在垃圾收集器删除对象之前对这 个对象调用的。第二,Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以 implements(实现)interface(接 口)?匿名
3、的内部类是没有名字的内部类。不能extends(继承)其它类,但一个内部类可以作为一 个接口,由另一个内部类实现。第三,Static Nested Class和Inner Class的不同,说得越多越好(面试题有的很笼统)。Nested Class (一般是 C+ 的说法),Inner Class (一般是 JAVA 的说法)。Java 内部类与 C+ 嵌套类最大的不同就在于是否有指向外部的引用上。具体可见 : /注:静态内部类(Inner Class)意味着1创立一个static内部类的对象,不需要一个外部类 对象,2不能从一个static内部类的一个对象访问一个外部类对象第四,&和&的区别
4、。&是位运算符。&是布尔逻辑运算符。第五,HashMap和Hashtable的区别。都属于Map接口的类,实现了将惟一键映射到特定的值上。HashM叩类没有分类或者排序。它允许一个null键和多个null值。Hashtable类似于HashMap,但是不允许null键和null值。它也比HashM叩慢,因为它 是同步的。第六,Collection 和 Collections 的区别。Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。Collection是个java.util下的接口,它是各种集合结构的父接口。第七,什么时候用asserto第十一,short
5、 si = 1; si = si + 1;有什么错? short si = 1;si += 1;有什么错?short si = 1; si = si +1;有错,si是short型,sl+1是int型,不能显式转化为short型。可修改为 si=(short)(si + 1) o short si = 1; si +二1正确。第十二,sleep()和wait ()有什么区别?搞线程的最爱sleep。方法是使线程停止一段时间的方法。在sleep时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可 能正在运行而且没有被调度为放弃执行,除非(a) “醒来”的线程具有更高的优 先级,
6、(b)正在运行的线程因为其它原因而阻塞。wait。是线程交互时,如果线程对一个同步对象x发出一个wait。调用,该线程会暂停执行,被调对象进入等待状态,直到被唤 醒或等待时间到。第十三,Java有没有goto?Goto?java中的保存字,现在没有在java中使用。第十四,数组有没有length。这个方法?String有没有length ()这个方法?数组没有length。这个方法,有length的属性。String有有length。这个方法。第十五,Overload和Override的区别。Overloaded的方法是否可以改变返 回值的类型?方法的重写Overriding和重载Overlo
7、ading是Java多态性的不同表现。重 写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个 类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参 数,我们说该方法被重写(Overriding) o子类的对象使用这个方法时,将调用子类中的定义,对它而言, 父类中的定义如同被“屏蔽” 了。如果在一个类中定义了多个同名的方法,它们 或有不同的参数个数或有不同的参数类型,那么称为方法的重载(Overloading)。 Overloaded的方法是可以改变返回值的类型。第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用二二还
8、是equals。?它们有何区别?Set里的元素是不能重复的,那么用iterator。方法来区分重复与否。 equals ()是判读两个Set是否相等。equals()和=方法决定引用值是否指向同一对象equals。在类中被覆盖, 为的是当两个别离的对象的内容和类型相配的话,返回真值。第十七,给我一个你最常见到的runtimeexceptionoArithmeticException, ArrayStoreException,BufferOverf1owException,BufferUnderflowException,CannotRedoException,CannotUndoExcepti
9、on, ClassCastException,CMMException,ConcurrentModificationException,DOMException, EmptyStackException, IllegalArgumentException,I HegalMonitorStat eException,IllegalPathStateException, IllegalStateException,ImagingOpException,IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeExcept
10、ion,NoSuchElementException,NullPointerException,Prof ileDataExcept ion,ProviderException, RasterFormatException, SecurityException, SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException第十八,error和exception有什么区别?error表示恢复不是不可能但很困难的情况下的一种严重问题。比方说内存溢出。不可 能指望
11、程序能处理这样的情况。exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的 情况。第十九,List, Set,Map是否继承自Collection接口?List, Set 是Map不是第二十,abstractclass和interface有什么区别?声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创立一个表达某些基本行为的类,并为该类声明方法,但不 能在该类中实现该类的情况。不能创立abstract类的实例。然而可以创立一个变量,其类型是一个抽象类,并让它指向具体子类 的一个实例。不能有抽象构造函数或抽象静态方法。Abstr
12、act类的子类为它们父类中的所有抽象方法提供实现,否那么它们也是抽象类为。取而 代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多 继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个 有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承 行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。 然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类, 它允许使用接口名作为引用变量的类型。通常的动态
13、联编将生效。引用可以转换 到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。第二Habstract的method是否可同时是static,是否可同时是native, 是否可同时是synchronized?都不能第二十二,接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)?接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承 实体类,但前提是实体类必须有明确的构造函数。第二十三,启动一个线程是用run ()还是start ()?启动一个线程是调用start。方
14、法,使线程所代表的虚拟处理机处于可运行 状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run() 方法可以产生必须退出的标志来停止一个线程。第二十四,构造器Constructor是否可被override?构造器Constructor不能被继承,因此不能重写Overriding,但可以被重 载 Overloadingo第二十五,是否可以继承String类?String类是final类故不可以继承。第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线 程是否可进入此对象的其它方法?不能,一个对象的一个synchronized方法只能由一个线程访问。(
15、此答案有错误.其他线程可以进入此对象的其他方法,但不能进入此对象的 synchronized 方法)第二十七,try里有一个return语句,那么紧跟在这个try后的finally里的code会不会被执行,什么时候被执行,在return前还是后?会执行,在return前执行。第二十八,编程题:用最有效率的方法算出2乘以8等於几?有C背景的程序员特别喜欢问这种问题。2 3第二十九,两个对象值相同(x. equals (y)= true),但却可有不同的hashcode,这句话对不对?不对,有相同的hash code0第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象 的属性,并可
16、返回变化后的结果,那么这里到底是值传递还是引用传递?是值传递。Java编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参 数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的 引用是永远不会改变的。第三H一,swtich是否能作用在byte上,是否能作用在long上,是否能 作用在String上?switch (exprl)中,exprl是一个整数表达式。因此传递给 switch和case语句的参数应该是int、short char或者 byteo long, string 都不能作用于 swticho第三十二,编程题:写一个Singleton出来。Sin
17、gleton模式主要作用是保证在Java应用程序中,一个类Class只有一 个实例存在。一般Singleton模式通常有几种种形式:第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类 变量,在类初始化时实例话,通过一个public的getlnstance方法获取对它的 引用,继而调用其中的方法。public class Singletonprivate Singleton()在自己内部定义自己一个实例,是不是很奇怪?注意这是private只供内部调用private static Singleton instance = new Singleton
18、();/这里提供了一个供外部访问本class的静态方法,可以直接访问public static Singleton getlnstance() return instance;第二种形式:public class Singleton private static Singleton instance 二 null;public static synchronized Singleton getlnstance() (这个方法比上面有所改进,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率!if (instance二二null)instance = new Singleton ();
19、return instance; 其他形式:定义一个类,它的构造函数为private的,所有方法为static的。一般认为第一种形式要更加平安些第三十三 Hashtable 和 HashMapHashtable 继承自 Dictionary 类,而 HashMap 是 Javal. 2 引进的 Map interface的一个实现HashMap允许将null作为一个entry的key或者value,而Hashtable不允 许还有就是,HashMap把Hashtable的contains方法去掉了,改成 containsvalue和containsKey。因为contains方法容易让人引起误
20、解。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在 多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必 须为之提供外同步。Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会 有很大的差异1、数据库表a和表b具有完全相同的结构,主键为indexid。写出一个sql语句把表b中不存在而表a中存在的数 据插入到表b中。2、javascript 局部页面中有一个名称都为unitprice的type=text对象。要求输入的数据不能为空,写一个函数实现该功能, 如果为空时给出提示。3、J
21、SP局部session中存储一个String变量,变量名称为studentname,写出在jsp中如何得到这个session变量的 值的语句。在 jsp 中弓I用使用 vjsp:useBean id= .scope= /来引用 javabean.I scope的值有哪些,这些值的区别是什么?II不同的jsp页面中引用javabean时,id能否相同,如果能相同,对scope的值有什么要求?4、JAVA局部输入一个维数,输出以下形式的矩阵和数列,以维数n=4为例:0000011101220123写出下面这段程序的运行结果int a=2zb=3,c=la+=-b+c;c-=b+a+;System.
22、out.println(a=+a+,zb=4-b+,c=n4-c);5、有一个Vector对象,其中每一个元素都是一个String对象,请用for循环或while循环输出Vector 中的元素,要求格式为广第i个元素为:aaa6、有一个HashMap其中key为String对象,value为Integer对象,写一个方法打印出此Map中的所 有键值对形如 key-value7、有一个String str=001,A001;002,A002;003,A003”的串,写一个方法,把此串存入列 一个 HashMap 或 Hashtable 中,说明:如 001 为 key, A001 贝U为 val
23、ue。8、面向对象概念:面向对象基本特征什么叫多态和重载,它们有什么区别?用你自己的话描述你理解的j2ee的本质特征是什么?1. insert into b (select * from a where a.indexid not in (select indexid from b);2.function fieldCheck()var unitprice = document.forms0.unitprice;if(unitprice.value=)alert(unitprice 值域为空! ”);return false;)return true;)3.1String value = (S
24、tring)session.getAttribute(nstudentnamen);然后判断value是否为空,再进行下面的操作3.2scope的范围有四种,page,request,session,application在scope为page或者requst的时候javabean的id可以相同4.1 没看明白题目4.2a=6,b=2,c=-65Vector v; 前提是该对象int i=0;for(Iterator it =v. iterator(); it. hasNext();)String element = (String)it.next();i+;(“第”+i+”个元素为:”+el
25、ement);)6.private void mapPrint(Map map)if(!map.isEmpty()java.util.Set keyset = map.keySet();for(java .util. Iterator it =keyset. iterator(); it. hasNext();)String key = (String) it.next();Integer value = (Integer)map.get(key);System.out.println(key+-n4-value.toString();)7. private void mapFill()Has
26、hMap map = new HashMap();String str=001,A001;002zA002;003,A003;java.util.Stringlbkenizer st = new java.util.String7bkenizer(str;;); while(st.hasMorelbkens()Stringstring= st.nextTbken();String key = string.substring(0z3);Stringvalue =string.substring(4,string.Iength();map.put(key,value);)1. hibernate
27、和spring的区别和优越性2. jdbc连接池,hiberbate之间的区别和联系3. S0ACBDA0P00 的区别4. unix下C语言进程通信的方法及描述5. 一个WEB应用的部署结构,各组件如何部署6. 说一下JSP, SERVLET生命周及二者之间的对应关系7. 说一下对。一Rmapping的理解断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为trueo如果表达式 计算为false,那么系统会报告一个AssertionErroro它用于调试目的:assert(a 0); / throws an AssertionError if a = 0断言可以有两种形式:asse
28、rt Expression1;assert Expression! : Expression!;Expression 1应该总是产生一个布尔值。Expression2可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的String 消息。断言在默认情况下是禁用的。要在编译时启用断言,需要使用source 1.4标记:javac -source 1.4 Test.java要在运行时启用断言,可使用-enableassertions或者-ea标记。要在运行时选择禁用断言,可使用-da或者-disableassertions标记。要系统类中启用断言,可使用-esa或者-dsa标记。还可以在
29、包的基础上启用或者禁用断 言。可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法 的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公 有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测 试后置条件。另外,断言不应该以任何方式改变程序的状态。第八,GC是什么?为什么要有GC?(基础)。GC是垃圾收集器。Java程序员不用担忧内存管理,因为垃圾收集器会自动进行管理。要请 求垃圾收集,可以调用下面的方法之一:System.gc()Runtime.getRuntime().gc()第九,String s = ne
30、w String(“xyz”);创立了几个 String Object?两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。第十,Math.round(lL5)等於多少? Math.round(-11.5)等於多少?Mathround(l 15)返回(long) 12, Mathround(-ll,5)返回(long) -11;第H 、short si = 1; si = si + 1;有什么错? short si = 1; si += 1;有什么错?short si = 1; si = si + 1;有错,si是short型,sl + 1是int型,不能显式转化为short型。可修
31、 改为 si =(short)(sl + 1) o short si = 1; si += 1 正确。第十二,sleep。和wait()有什么区别?搞线程的最爱sleep。方法是使线程停止一段时间的方法。在sleep时间间隔期满后,线程不一定立即恢复 执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒 来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wait。是线程交互时,如果线程对一个同步对象x发出一个wait。调用,该线程会暂停执行, 被调对象进入等待状态,直到被唤醒或等待时间到。想必大家都有参加过面试的或多或少的经历吧,不知道考官都会
32、问啥米刁钻古怪的问题呢? 下面的考题是我的一些针对java的面试题目,还不少,大概分为基础类应用类其他 类,,大家还可以说说自己的面试经历。一、Java基础知识1 Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。2 .字符串的操作:写一个方法,实现字符串的反转,如:输入abc,输出cba写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。3 .数据类型之间的转换如何将数值型字符转换为数字(Integer, Double)如何将数字转换为字符如何取小数点前两位,并四舍五入。4 .日期和时间如何取得年月日,小时分秒如何取得从1970年到现在
33、的毫秒数如何获取某个日期是当月的最后一天如何格式化日期5 .数组和集合6 .文件和目录(I/O)操作如何列出某个目录下的所有文件如何列出某个目录下的所有子目录判断一个文件或目录是否存在如何读写文件7Java多态的实现(继承、重载、覆盖)8 .编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。9 .Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。10 .找出以下代码可能存在的错误,并说明原因:二、JSP&Servlet 技术1 .描述JSP和Servlet的区别、共同点、各自应用的范围尽管JSP在本质上就是SERVL
34、ET,但是两者的创立方式不一样.Servlet完全是JAVA程序代码构成擅长于 流程控制和事物处理而通过Servlet来生成动态网页很不直观;JSP由HTML代码和JSP标签构成可以方便 地编写动态网页因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在Sstuts框 架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.2 .在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符( &。) 3.在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路 径。4 .描述Cookie和Session的作用,区别和各
35、自的应用范围,Session工作原理。5,列出Jsp中包含外部文件的方式,两者有何区别。6 .说明Jsp中errorPage的作用,应用范围。7 .介绍在Jsp中如何使用JavaBeanSo8 .简单介绍JSP的标记库9Jsp和Servlet中的请求转发分别如何实现。三、J2EE相关知识1 .介绍 J2EE、J2SE、J2SE 的区别。2J2EE是一种技术还是一种平台,他提供了那些技术。3 .什么是Application Server,它有什么功能和优点。4 .简单介绍连接池的优点和原理。5 .Web.xml的作用四、其他LWeb平安性的考虑(表单验证、浏览器Basic方式的验证,应用程序的平
36、安性,SSL,代 码考虑)6 .简单介绍您所了解的MVCo7 .简单介绍所了解的XML。8 .文档和编码规范9 Java中的分页、效率考虑。10 简单介绍您所了解的stracts收藏:1 .xml在工程中的作用2.S-EJB与e-EJB的区别3 ,会话面的作用4 p与bmp的优缺点5J2me程序的必需的几个局部6 .c/s与b/s的区别7 .构建一个connect pool,然后再调用它,8J2ee平台与dotnet平台的区别9 .ejb 的 life cycle10 .session bean 和 entity bean 的区另U1.1 l.ejb 中的 transaction 机制1.5
37、synchronized (生产者和消费)1.6 String 和 StringBuffer1.7 Serializable15 .MVC (Struts的工作流程)16 .什么是MDA17 .tcp与udp的区别18 .链表与散列表和数组的区别19 .堆和栈的区别20 .ejb的分类及区别21 .你对现在软件业以及国内软件业的看法22 .谈谈java多线程23 .谈谈文件加密技术24 .软件开发生命周期25 .路由协议种类及特点26 .java的awt和swing组件的GUI设计的关键27 .对于java流的认识28 .简单描述一下awt与swing区别。29 .简述java编程中事件处理模
38、式。30 .你编写过applet吗? applet的平安权限如何?试列举java application或者applet中与 servlet/jsp通信可以采用的方式。31 .简述逻辑操作(如&,|)与条件操作(如&,|)的区别。32 .简述Java Server Page和Servlet的联系和区别。33 .简述 synchronized 和 java.utiLconcurrent.locks.Lock 的异同?34 .EJB规范规定EJB中禁止的操作有哪些?LC+或Java中的异常处理机制的简单原理和应用。当JAVA程序违反了 JAVA的语义规那么时,JAVA虚拟机就会将发生的错误表示为一
39、个 异常。违反语义规那么包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界, 会引发 IndexOutOfBoundsException;访问 null 的对象时会弓发 NullPointerException。另一种 情况就是JAVA允许程序员扩展这种语义检查,程序员可以创立自己的异常,并自由选择在 何时用throw关键字引发异常。所有的异常都是的子类。2 . Java的接口和C+的虚类的相同和不同处。由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方 法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接 口中没有任何实现
40、代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性, 并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类 可以实现多个接口。3 .垃圾回收的优点和原理。并考虑2种回收机制。Java语言中一个显著的特点就是引入了垃圾回收机制,使C+程序员最头疼的内存管理 的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾 回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单 独的低级别的线程运行,不
41、可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对 象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回 收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。4 请说出你所知道的线程同步的方法。wait():使一个线程处于等待状态,并且释放所持有的对象的lockosleep。:使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉 InterruptedException 异常。notify。:唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的 唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。All
42、notity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁, 而是让它们竞争。5 .请讲一讲析构函数和虚函数的用法和作用。6 . Error与Exception有什么区别?Error表示系统级的错误和程序不必处理的异常,Exception表示需要捕捉或者需要程序进行处理的异常。7 .在java中一个类被声明为final类型,表示了什么意思?表示该类不能被继承,是顶级类。8 .描述一下你最常用的编程风格。9 . heap和stack有什么区别。栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式 进行处理。堆是栈的一个组成元素第十三,Java有没有
43、goto?Goto-java中的保存字,现在没有在java中使用。第十四,数组有没有length。这个方法? String有没有length。这个方法?数组没有length。这个方法,有length的属性。String有有length。这个方法。15 Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父 类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在 子类中定义某方法与其父类有相同的名称和参数,我
44、们说该方法被重写(Overriding)o子类 的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。 如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,那么 称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用=还是 equalsO?它们有何区别?Set里的元素是不能重复的,那么用iterator。方法来区分重复与否。equals。是判读两个Set 是否相等。equals(b=方法决定引用值是否指向同一对象equals。在类中
45、被覆盖,为的是当两个别离的 对象的内容和类型相配的话,返回真值。第十七,给我一个你最常见到的runtime exceptionoArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, Il
46、legal ArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFo
47、rmatException, SecurityException, SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException第十八,error和exception有什么区别?error表示恢复不是不可能但很困难的情况下的一种严重问题。比方说内存溢出。不可能指 望程序能处理这样的情况。exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的 情况。第十九,List, Set, Map是否继承自Collection接口?List, Set 是Map不是第二十,abstract class 和 interface 有什么区别?抽象类里面可以有非抽象方法但接口里只能有抽象方法声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创立一个表达某 些基本行为的类,并为该类声明