




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
填空题 1每个Java应用程序都要有且只有一个_main( )_方法,它是程序运行的起点。2在面向对象概念中,整个世界是由各种各样的_对象_组成的。3导入包的形式为:_import java_。4._字节码_是一套高度优化的指令集,它由Java运行期解释器执行,帮助Java实现了可移植性和安全性。5创建一个包时,使用关键字_package_。6_封装_是把成员变量和成员方法包装在一个类内以限定成员的访问,达到保护数据的一种技术。7用来实现接口的关键字是_implements_。8多态性可通过2种方式来实现,一个是_ 方法重载_,另一个是_方法重写_。9在进行文件操作时,若需要知道关于文件的信息,则需要创建_File_类对象。10定义String变量s的值为“abcdef1234”,则s.length()的返回值是_10_。11在面向对象概念中,整个世界是由各种各样的_对象_组成的。12_继承_是由一种已有的类创建新类的机制,是面向对象程序设计的基石之一。13Java编译器会为所有程序自动导入包_javalong_,因此不必再用import语句导入它包含的所有类。14_构造方法_可视为特殊的方法,它的主要角色是帮助创建的对象赋初值。15所有的Java异常都是系统类库中的_Exception_类的子类。16FileInputStream类直接继承自 input stream_;FileOutputStream类继承自_output stream_。17创建一个多线程程序时可以通过继承_thread 类,也可以通过实现_runnable_ 接口。18虽然同一类对象的 定义_都是一样的,但是每个对象的状态都是独立于其它对象的。19面向对象的3个最主要的特点是_继承_、 _封装_、 _多态_。20. 用来表示当前对象的关键字是_this_,而用来表示父类对象的关键字是_super_。21在进行文件操作时,若需要知道关于文件的信息,则需要创建_File_类对象。22在使用URL访问网络资源时,若要读取网络信息,需要使用_opeanstream_方法,返回一个输入流对象。23关系运算符的运算结果一定是_boolean_数据类型。24通常情况下,我们定义类中的_方法_为public,_成员变量_为private。25关键字this最常见的应用是在类的构造方法和实例方法中解决_参数_ 和_成员变量_同名的问题。26创建一个包时,使用关键字_package_。27_封装_是把成员变量和成员方法包装在一个类内以限定成员的访问,达到保护数据的一种技术。28重新抛出异常时使用关键字_throws_。29用户自定义异常必须是_Exception_类的直接或间接子类。30在Java语言中,用_ abstract _修饰符定义的类为抽象类。简答题1.Java的集合框架是什么,其中的ArrayList与Vector类有何区别? 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。Java提供了实现常见数据结构的类,这些实现数据结构的类通称为Java集合框架。 1)vector是线程同步的,所以它也是线程安全的,而arraylist是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用arraylist效率比较高。2)如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%.如过在集合中使用数据量比较大的数据,用vector有一定的优势。2.描述JVM加载class文件的原理机制。 在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析. 1、装载:查找和导入class文件2、连接:其中解析步骤是可选的3、初始化:对静态变量,静态代码块执行初始化。1. 简述按值传递和按引用传递的区别 。值传递:方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。引用传递:也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。2. 简述java垃圾回收机制。java垃圾回收就是 系统自动把heap(堆)中没有引用指向的对象定期删除。这个是定期自动调用,一般不用去考虑回收的时间点,另外,如果heap中对象比内存多,这时是会报错的。JAVA垃圾回收机制另一个特点是,进行垃圾回收的线程是一种低优先级的线程,在一个Java程序的生命周期中,它只有在内存空闲的时候才有机会运行。特点:1)垃圾回收是由虚拟机自动执行,不能人为地干预。2)系统比较空闲(垃圾回收线程)。3)对象不在被引用.对象处于引用的隔离岛状态(隔离引用),对象具备了回收的条件。4)gc()方法,可以建议虚拟机执行垃圾回收,但是不能确定是否会执行回收。3Java抽象类和接口的作用是什么,二者之间有何区别。抽象类作用:抽象类是不能够实例化的类,它的作用就是产生子类的同时给予子类一些特定的属性和方法。通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性。接口作用:接口就是方法定义和常量值的集合,把方法的特征和方法的实现分割开来。接口不能有任何具体的方法,引入接口的目的是为了克服Java单继承机制带来的缺陷,实现类的多继承的功能。接口还可以用来实现不同类之间的常量共享。二者的区别:抽象类在Java语言中体现了一种继承关系,要想使得继承关系合理,抽象类和继承类之间必须存在“是一个(is a)”关系,即抽象类和继承类在本质上应该是相同的。而对于接口来说,并不要求接口和接口实现者在本质上是一致的,接口实现者只是实现了接口定义的行为而已。4对于下面的代码,哪个结论是正确的,请解释原因。public class Testpublic static void main(String args)StringBuffer a=new StringBuffer(A);StringBuffer b=new StringBuffer(B);operate(a,b);System.out.println(a+,+b);static void operate(StringBuffer x,StringBuffer y)x.append(y);y=x;A. 程序输出A,B。 B.程序输出A,A。 C.程序输出B,B。 D.程序输出AB,B。2. 答:选D,原因:java中的函数调用都是传值调用,形参的改变不会改变实参本身的值,对象也一样,此时,传递的是对象的引用,此时,实参的引用和形参的引用都指向相同的对象,由于对象本身发生了改变,所以在main函数中输出了改变后的结果,而y=x,这只是改变了引用变量本身,仍然输出B。 对operate(x,y)的分析,.append(y); append()函数有追加功能相当于insert();y=x;让y对应的内存空间修改为x的内存空间。主函数调用operate(x,y),x对应的内存中的值修改为AB,也就是aAddress内存空间中的值变成AB。a指向的内存空间也是aAddress,所以最后打印出来的值为AB。当前y指向aAddress,但是b依旧指向bAddress,所以最后打印出来的值为B。所以答案为D。1、写出下面程序的运行结果class PBasepublic void print()System.out.println(base);public class PExt extends PBasepublic void print()System.out.println(extends);public static void main(String args)PBase a=new PExt();a.print();答案:extends2、写出下面程序的运行结果import java.io.*;public class TestStringpublic static void changeStr(String str)str=welcome;public static void main(String args)String str=1234;changeStr(str);System.out.println(str);答案:12341写出下面程序的运行结果class J_Baseclass J_Subclass extends J_Base public String mb_getString() return (sub);public class JTest public static void main (String args) J_Base app = new J_Subclass(); System.out.println(app.mb_getString(); 结果:sub1、利用Socket机制实现利用网络进行文件传输的应用程序(要求从客户端向服务器端传送任意一个文本类型文件即可)。服务器端serverfile.javaimport java.io.*;import .ServerSocket;import .Socket;public class serverfile public static void main(String args) throws ExceptionServerSocket ss = new ServerSocket(6000);/定义服务器端套接字;Socket s = ss.accept();/监听6000端口,看是否有客户端请求;FileInputStream fis = new FileInputStream(1.html);/选择需要进行传输给客户端的文件,并用文件输入流打开.byte buf = new byte10000;/定义保存字节流的字节数组;int ten = fis.read(buf);/读取字节的长度;String str = new String(buf,0,ten);/将读取的字节转换回来;OutputStream os = s.getOutputStream();/打开输出流;InputStream is = s.getInputStream();/打开输入流;os.write(str.getBytes();/向客户端发送文件转换后的字节流;byte buf1 = new byte10000;int len = is.read(buf1);/读取客户端的信息System.out.println(new String(buf1,0,len);客户端clientfile.javaimport java.io.*;import .InetAddress;import .Socket;import .UnknownHostException;public class test1 public static void main(String args)try Socket s = new Socket(InetAddress.getByName(),6000);/定义连接的主机的ip,以及端口号InputStream is = s.getInputStream();/打开输入流OutputStream os = s.getOutputStream();/打开输出流FileOutputStream fos = new FileOutputStream(2.html);/定义接受对方数据的文件,用文件输出流保存byte buf = new byte100000;int ten = is.read();String str = new String(buf,0,ten);fos.write(str.getBytes();/向文件写入数据os.write(文件已收到谢谢.getBytes();is.close();os.close();s.close(); catch (UnknownHostException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();2、用Java语言编写对整型数组进行二分查找的程序。public class binarySearch public static void main(String args) int a=23,45,98,100,110,120,140; int search=120;/记录要查找的元素 int low=0;/记录第一个元素 int high=a.length-1 ; int index=-1; while(low=high) index = (low+high)/2;/记录中间元素,用两边之和除2. int mid=aindex; if(mid=search) /如果得到的数与要查找的数相等则break退出; break; else if(midsearch) low=index+1; Else high = index-1; if(low=high) System.out.println(search+在数组中第:+(index+1)+位);else System.out.println(里面没有这个元素); 3、利用Java语言实现文件复制功能的程序(被复制的文件文件名为s.txt,复制后的文件名为d.txt,假定这两个文件与程序编译后的字节码共存于一个文件夹中)。import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class TestFileOutputStream public static void main(String args) int b =0;FileInputStream in = null;FileOutputStream out = null;try in = new FileInputStream(e:/s.txt);out = new FileOutputStream(e:/d.txt);while(b=in.read()!= -1)out.write(b);in.close();out.close(); catch (FileNotFoundException e) System.out.println(文件读取失败);System.exit(-1); catch (IOException e1) System.out.println(文件复制失败);System.out.println(success);4、创建一个窗口应用程序,包含两个文本框和两个按钮(一个按钮标题为“增加”,一个按钮标题为“减少”),为按钮添加单击事件,当点击两个按钮时两个文本框分别进行从0 开始的正计数和从0 开始的负计数,两个计数过程都是死循环,程序中的两个按钮用于启动相应的计数过程,要求计数过程以线程方式实现使得程序进入任何一个死循环都不会妨碍启动另外一个死循环线程。import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.text.DateFormat;public class ShowTime extends JFrameclass ShowTimeThread extends Threadpublic void run()while (true)trysleep(100);catch (InterruptedException e)showtimetf.setText(DateFormat.getTimeInstance().format(System.currentTimeMillis();class ShowTimeListener implements ActionListenerpublic void actionPerformed(ActionEvent e)if(showtimethread=null)showtimethread=new ShowTimeThread();showtimethread.start();ShowTimeThread showtimethread=null; JTe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版防腐木户外装饰材料环保检测合同范本
- 二零二五年度房产评估咨询代理合同范本
- 2025版特种矿粉供应与采购合作合同范本
- 二零二五年度安全防护栏杆设计与施工一体化协议
- 二零二五年度装配式建筑班组构件生产及施工合同
- 二零二五年度农家院休闲旅游租赁服务合同
- 2025版新能源设备租赁合同远期支付及退租协议
- 2025版电子产品分期购买与智能生活解决方案合同
- 2025版智慧城市道路施工合同操作指南
- 二零二五年度债权债务清收与追偿服务合同
- 2025年山西航空产业集团有限公司招聘考试笔试试题(含答案)
- 2025年专业技术人员继续教育公需科目培训考试试题及答案
- 2025年事业单位招聘职业能力倾向测验考试题库附参考答案满分必刷
- 2025年中考历史(河南卷)真题评析
- GB 5768.9-2025道路交通标志和标线第9部分:交通事故管理区
- 2025年环保气象安全技能考试-固体废物监测工历年参考题库含答案解析(5套共100道单选合辑)
- 高一上学期数学学法指导课件2024.9.14
- GB/T 45845.1-2025智慧城市基础设施整合运营框架第1部分:全生命周期业务协同管理指南
- 2025年 鹤壁市县区事业单位招聘考试笔试试卷附答案
- 呼吸科考试试题及答案
- 学习解读《矿产资源法》(2025)课件
评论
0/150
提交评论