




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaSE期末总测试注意:直接将自己的答案编写在每一道试题的下面,代码要规范,最好使用不同背景加注,提交试卷的时候文件的命名格式如:”姓名.doc”一、简答题1. 简述面向对象的特征有哪些方面?三大特征: 封装 、 继承 与 多态1在现实开发中一般是实体类我们都会封装起来 1私有化要封装的属性。2根据需求提供对应的Get 或者是set 方法3.隐藏了实现、操作简单、提高数据的安全性2继承关键字 extends3多态是指父类的应用类型变量指向了子类的对象又或者是父类接口的应用类型变量指向实现类的对象2. 简述StringBuffer和StringBuilder的区别?(10分)StringBuffer是JDK1.0 开始的,是一个线程安全的存储字符容器。如果是频繁修改字符串的内容,建议使用字符串缓冲类StringBuffer。StringBuilder 是JDK1.5之后提出的,线程不安全,但是效率要高。3. 在main方法中的执行代码如下: String s1 = abc; String s2 = abc; System.out.println(s1 = s2);请写出以上代码的输出的结果,分析输出结果的原因。(10分)打印的结果:True 分析String s1 = abc; /定义一个字符串类型的s1 并初始值为”abc” String s2 = abc; /定义一个字符串类型的s2 并初始值为”abc” System.out.println(s1 = s2); /打印判断这两个变量是同一个对象吗(内存地址一样吗)? 4.多线程有几种实现方法?同步有几种实现方法? (10分)两大方法:继承 与 实现 继承Thread 方法自定义一个类继调用start承Thread,重写Thread的run 方法把自定义线程的任务代码放在run方法上。创建Thread类的子类对象,并且调用Start方法开启线程实现 Runnable 接口自定义一个类实现Runnable接口,实现Runnable的run方法。把自定义线程的任务代码放在run方法上。创建Runnable实现类的对象。创建Thread的对象,然后把Runnable实现类的对象昨晚参数传递。调用Thread对象的sta线程rt方法开启synchronized,wait与notify都可以实现同步5. 列出Java你所知道的集合体系,并简述各自的特点.(10分)单例集合 Collection 单列集合的根接口 List 如果是实现了 List 接口集合类举报的特别:有序 ,可重复ArraysList 底层是使用Object 数据实现的。特点 查询速度快, 增删慢Linkedlist 底层是使用链表数据结构实现的 特点 查询慢 增删快Vector 底层使用Object 数据实现的 ,实现与ArraysList是一样,只不过是线程安全的,操作效率低Set 如果是实现了Set接口集合具体的特点 : 无需,不可以重复HashSet 底层使用的 哈希表实现的TreeSet 底层使用二叉数实现的双列集合 MapHashMap 底层使用的是哈希表实现的TreeMap 底层使用二叉数实现HashTable 6.集合与数组的区别是什么呢?(10分)集合与数组都是存储数据的容器。数组定义后长度固定。数组存储的类型是单一的。集合是可变的。集合可以存储任意类型的对象。7.Collection和Collections的区别?(10分)Collection是一个接口,Collections是一个类,Collection是集合上级的接口,继承的主要有Set ,List 。 Collections是集合的帮助类,实现了集合的搜索,排序,线程安全问题等。8.HashSet是如何保证元素唯一性的。(10分)底层是使用了哈希表来支持的,不存入重复元素的规则.使用hashcode和equals如果对象的hashCode值是不同的,那么HashSet会认为对象是不可能相等的,如果在现实生活中id 相等就视为同一个人的时候那么就需要重写hashCode方法来确认对象具有相同的hashcode值。 9.简述ArrayList与Vector的区别,ArrayList与LinkedList的区别(10分)ArrayList 与 Vector 底层都是使用了Object数组实现的,ArrayList是1.0出现的,是线程不安全的,效率高Vector是JDK 1.5 出现的,是线程不安全的,效率低 ArrayList 底层是使用了Object数组实现的, 查询快 增删慢LinkeList 底层是使用了链表数据实现的, 查询慢 增删快如果我们需要保留存储顺序的,并且保留重复元素的时候,使用List.如果查询比较多,那么使用ArraysList 如果存取比较多,那么使用LiskedList如果需要线程安全的,那么使用Vector2、 编程题(写出代码思路,伪代码)1.使用TCP,模拟一下QQ的信息交流功能,客户端,服务端(10分)package test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import .ServerSocket;import .Socket;public class Test22 /*建立 tcp 的服务器接受客户端的连接,传声一个Socket获取到Socket的输入流对象获取到Socket输出流的对象获取键盘的输入流对象读取客户端的数据关闭资源 */public static void main(String args) throws IOException ServerSocket serverSocket = new ServerSocket(8088);Socket socket =serverSocket.accept();BufferedReader sReader = new BufferedReader(new InputStreamReader(socket.getInputStream();OutputStreamWriter sOut = new OutputStreamWriter(socket.getOutputStream();BufferedReader keyReader = new BufferedReader(new InputStreamReader(System.in) );String line = null;while(line = sReader.readLine()!=null)System.out.println(服务端接收到的信息:+line);System.out.println(请输入回送给客户端);line=keyReader.readLine();sOut.write(line+rn);sOut.flush();serverSocket.close();客户端类package test;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import .InetAddress;import .Socket;import .UnknownHostException;public class Test22send public static void main(String args) throws IOException, IOException /建立tcp的客户端服务/获取cocket的输出对象/获取socket的输入流对象/获取键盘的输入流对象,读取数据/不断的读取键盘录入数据,然后把数据写出/flush刷一把/.Socket socket = new Socket(InetAddress.getLocalHost(),8088);OutputStreamWriter sOut = new OutputStreamWriter(socket.getOutputStream();BufferedReader sReader = new BufferedReader(new InputStreamReader(socket.getInputStream();BufferedReader keyReader = new BufferedReader(new InputStreamReader(System.in);String line = null;while(line = keyReader.readLine()!=null)sOut.write(line+rn);sOut.flush();line = sReader.readLine();System.out.print(服务器送回的数据是:+line);socket.close();2. 编写一个方法实现拷贝任意文件的功能,要求效率最高。(10分)package test;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Scanner;public class CopyFile public static void main(String args) throws IOException System.out.print(请输入要拷贝的文件的绝对路径);Scanner s = new Scanner(System.in);File inFile = new File(s.next();File outFile = new File(E:CopyFile.jpg);System.out.println(拷贝成功,拷贝的路径是E:CopyFile.jpg);FileInputStream fileInputStream = new FileInputStream(inFile);FileOutputStream fileOutputStream = new FileOutputStream(outFile);BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);int content = 0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 货代企业业务流程重组与优化考核试卷
- 健身器材制造业消费者行为研究与产品设计创新实践考核试卷
- 药品储存与仓储环境控制考核试卷
- 礼仪用品企业社会责任实践考核试卷
- 窗帘面料的智能传感技术考核试卷
- 轮胎行业科技创新与产业升级考核试卷
- 肺炎医学科普知识讲座
- 生物制药产品包装技术秘密保护及品牌推广合作协议
- 网络直播平台内容审查与隐私保护合同
- 智能停车场车位预约系统用户培训与售后服务合同
- 电大《管理英语3》1-8单元试题附答案
- 带状疱疹性脑膜脑炎的治疗及护理
- 2023年扩散膜行业市场需求分析报告及未来五至十年行业预测报告
- 老年患者预防烫伤
- 2024年江苏绿色东海投资发展集团有限公司招聘笔试参考题库附带答案详解
- GB/T 43564-2023中小学合成材料面层田径场地
- 知行合一:王阳明传
- 广告宣传栏及雕塑采购项目服务投标方案(技术标)
- 国开《Windows网络操作系统管理》形考任务4-配置故障转移群集服务实训
- 波浪理论基础图解
- 角的度量说课PPT
评论
0/150
提交评论