Java大量面试题目.docx
《Java大量面试题目.docx》由会员分享,可在线阅读,更多相关《Java大量面试题目.docx(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java基础方面:1、作用域public,private,protected,以与不写时的区分答:区分如下:作用域当前类同一 package子孙类 其他packagepublic a/protected V friendly 7 private 7不写时默认为friendly2、ArrayList 和 Vector 的区分,HashMap 和 Hashtable 的区分答:就ArrayList与Vector主要从二方面来说.一.同步性:Vector是线程平安的,也就是说是同步的,而ArrayList是线程序担心全的,不是同步的二.数据增长:当须要增长时,Vector默认增长为原来一培,而Arr
2、ayList却是原来的一半就HashMap与HashTable主要从三方面来说。一.历史缘由:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现二.同步性:Hashtable是线程平安的,也就是说是同步的,W HashMap是线程序担心全的,不是同步的public static void main(String args)FatherClass fc = new FatherClassQ;ChildClass cc = new ChildClassQ;输出结果:C:java test.ChildClassFatherClass C
3、reateFatherClass CreateChildClass Create6、内部类的实现方式?答:示例代码如下:package test;public class OuterClass|private class InterClass(public InterClass()System.out.println(HInterClass Create11);public OuterClassOInterClass ic = new InterClass();System. out .printin (H Out er Clas s Create);)public static void m
4、ain(String args)OuterClass oc = new OuterClassO;)输出结果:C:java test/OuterClassInterClass CreateOuterClass Create再一个例题:public class OuterClass private double dl = 1.0;/insert code here)You need to insert an inner class declaration at line 3. Whic h two inner class declarations are valid?(Choose two.)A.
5、 class InnerOne public static double methodaQ return dl; )B. public class InnerOne static double methoda() return dl; C. private class InnerOne double methoda() return dl; )D. static class InnerOne protected double methodaQ return dl; E. abstract class InnerOne public abstract double methoda(); )说明如
6、下:一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。故 A、B错二.静态内部类的非静态成员可以访问外部类的静态变量,而不行访问外部 类的非静态变量;return dl出错。故D错三.非静态内部类的非静态成员可以访问外部类的非静态变量。故C正四.答案为C、E7、垃圾回收机制,如何优化程序?希望大家补上,感谢8、float 型 float f=3.4 是否正确?答:不正确。精度不精确,应当用强制类型转换,如下所示:float fNfloat) 3.49、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?答:Collection FrameWork
7、如下:Collection卜 ListLinkedList卜 ArrayListLVectorLStackLSetMap卜 Hashtable卜 HashMapLW eakHashMapCollection是最基本的集合接口,一个Collection代表一组Object,即Collection 的元素(Elements)Map供应key到value的映射10、Java中异样处理机制,事务机制?11 JAVA中的多态与继承?希望大家补上,感谢12、抽象类与接口?答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分 实现,而接口则完全是一个标识(同时有多重继承的功能)。13、Jav
8、a的通信编程,编程题(或问答),用JAVA SOCKET编程,读 服务器几个字符,再写入本地显示?答:Server端程序:package test;import .*;import java.io.*;public class Server private ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Serverf)|try(ss=new ServerSocketf 10000);while(true)socket = ss.acceptf);Str
9、ing RemotelP = socket.getInetAddress().getHostAddress();String RemotePort = n:n+socket.getLocalPort();System.out.printin(HA client come in!IP:n+RemoteIP+RemotePort);in = new BufferedReader(newInputStreamReader(socket.getInputStream();String line = in.readLine();System. out .printin (H Cleint send is
10、 : + line);out = new PrintWriter(socket.getOutputStream(),true);out.printin(nYour Message Received!n);out.closeQ;in.closef);socket.closef);)catch (lOException e)|out.println(Hwrongn);)public static void main(String args)(new ServerQ;Client端程序:package test;import java.io.*;import .*;public class Clie
11、nt(Socket socket;BufferedReader in;PrintWriter out;public Clientf) try(System. out .printin (HTry to Connect to 127.0.0.1:10000H);socket = new Socket(Hn, 10000);System.out.println(HThe Server Connected!);Sy st era. out .printin (H Pleas e enter some Character:H);BufferedReader line = new BufferedRea
12、der(newInputStr eamReader(System.in);out = new PrintWriter(socket.getOutputStream(),true);out.println(line.readLine();in = new BufferedReader(new InputStreamRead er (socket, getlnp utStream(j);System .out. printin (in. readLineQ);out.closef);in.closef);socket.closef);catch(IOException e) out. printi
13、ng Wrong”);public static void main(String args) new ClientQ;);14、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?如在COLLECTION框架中,实现比较要实现什么样的接口 ?答:用插入法进行排序代码如下package test;import java.util/;class InsertSort(ArrayList al;public InsertSort(int num,int mod)(al = new ArrayList(num);Random rand = new Randomf);System.out.pr
14、intln(HThe ArrayList Sort Before:11);for (int i=O;inum ;i+ ) al.add(new Integer(Math.abs(rand.nextInt() % mod + 1);System.out.println(naln+i+n=n+al.get(i);public void Sortltf)|Integer templnt;int MaxSize= 1;forfint i=l;i=(Integer)al.get(MaxSize-l).intValue()(al.add(MaxSize,tempInt);MaxSize+;System .
15、out. printin (al.toStringf); else for (int j=O;j=tempInt.intValue() al. add (j, t emplnt); 三.值:只有HashMap可以让你将空值作为一个表的条目的key或vahi e o5.1 两个对象值相同(x.equals(y) = true),但却可有不同的hash cod e,这句话对不对?不对,有相同的hash code。5.2 当一个对象被当作参数传递到一个方法后,此方法可变更这个对象的 属性,并可返回变更后的结果,那么这里究竟是值传递还是引用传递? 是值传递。Java编程语言只由值传递参数。当一个对象实
16、例作为一个参 数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在 被调用的方法中变更,但对象的引用是恒久不会变更的。5.3 swtich是否能作用在byte上,是否能作用在long上,是否能作用 在 String ?switch (expr 1)中,exprl是一个整数表达式。因此传递给switch和 case 语句的参数应当是 int、short char 或者 byte。long,string 都不能作用于swticho(它能运用长度是在int范围之内的)5.4 下面都是正确的main方法签名。public static void main(String args)publi
17、c static final void main(String args)static public void main(String args)static public synchronized void main(String args)MaxSize+;System .out. printin (al. to Stringf);break;System.out.println(HThe ArrayList Sort After:*);for(int i=O;ial.size();i+)(System.out.println(Haln+i+n=n+al.get(i);)public st
18、atic void main(String args)(InsertSort is = new InsertSort( 10,100);is.SortltQ;JAVA类实现序例化的方法是实现接口Collection框架中实现比较要实现Comparable接口和Comparator接口 15、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输 出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC” 4,应当截为“我AB”,输入“我ABC汉DEF”,6,应当输出为“我 ABC”而不是“我ABC+汉的半个”。(方正编程题)答:代码如下:package test;class Spl
19、itstringString SplitStr;int SplitByte;public SplitStringfString strjnt bytes)(SplitStr=str;SplitByte=bytes;System.out.println(HThe String is: H+SplitStr+nz ;SplitBytes=H+ SplitByte);public void Splitltf) int loopCount;loopCount=(SplitStr.length()%SplitByte=0)?(SplitStr.length()/SplitByte): (SplitStr
20、.lengthf) / SplitByte+1);System.out.println(HWill Split into n+loopCount);for (int i= 1 ;i=loopCount ;i+ )(if (i=loopCount)System.out.println(SplitStr.substring(i-l)*SplitByte,SplitStr.leng th(); else System.out.println(SplitStr.substring(i-l)*SplitByte,(i*SplitByte);public static void main(String a
21、rgs)Splitstring ss = new SplitString(Htest 中 dd 文 dsaf 中男大 3443n中国43中国人0ewldfls=103n,4);ss.SplitltQ;16、JAVA多线程编程。用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。注:因为这4个线程共享J,所以线程类要写到内部类中。加线程:每次对j加一。减线程:每次对j减一。public class TestThreadsprivate int j=l;/加线程private class Inc implements Runnablepublic void run()fo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 大量 面试 题目
限制150内