java2实用教程课后习题答案(第三版简单题).docx_第1页
java2实用教程课后习题答案(第三版简单题).docx_第2页
java2实用教程课后习题答案(第三版简单题).docx_第3页
java2实用教程课后习题答案(第三版简单题).docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件; Java小应用程序使用支持Java标准的浏览器来执行。2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答: 应用程序必须有main方法,这个方法是程序执行的入口。小应用程序没有main方法。应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答: Java程序由类组成。应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java; 有多个类时,如果有public类(最多一个),源文件名与public类的类 名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名 相同即可,拓展名为.java。 小应用程序:源文件名与主类的类名相同,拓展名是.java。第四章1. 类中的实例变量在什么时候会被分配内存空间?答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。 2. 什么叫方法的重载?构造方法可以重载吗?答:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。 构造方法可以重载。3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?答:类中的实例方法可以操作类变量。 类方法不可以操作实例变量4. 类中的实例方法可以用类名直接调用吗?答: 类中的实例方法不可以用类名直接调用。5. 举例说明protected方法和友好方法的区别。答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。6. 举例说明类变量和实例变量的区别。答:书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。 例: class Aint x; /实例变量static int y; /类变量 内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。 不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。 任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。 一个对象的实例变量发生改变,不影响其他对象的相应实例变量。例: 执行语句: A1.x=10; A1.y=20; 这时A2.x的值也是10;而A2.y的值保持原来的初值。 使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。 例: class Aint x; static int y; static void func()b=10; /合法a=20; /非法 类变量可以通过类名访问;实例变量不能通过类名访问。 例: class Aint x; static int y; class Bpublic void func();A.x=10; /非法A.y=20; /合法7. 子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?答:子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。 子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。 在子类中允许有一个方法和父类的方法名字相同而类型不同。8. 父类的final方法可以被子类重写吗?答: 父类的final方法不能被子类重写。9. 什么类中可以有abstract方法?答: abstract类中可以有abstract方法。10.什么叫对象的上转型对象?答: B类是A类的子类或间接子类,当用子类B创建一个对象b并把这个对象的引用放到A类的对象a中时,称A类对象a是子类对象b的上转型对象。11.什么叫接口的回调?答: 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。3. Checkbox对象可以触发ItemEvent事件吗?答: 可以。15.使用接口有哪些注意事项?答:一个类使用接口时,要有implements关键字,当一个类使用多个接口时,接口名要用逗号“,”隔开;使用接口的类除abstract类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用public修饰,如果接口方法的返回类型不是void型,在类中实现接口时,方法体至少有一个return语句。第9章1. 线程有几种状态?答: 一个线程在它的一个完整的生命周期有4种状态,分别是:新建、运行、中断和死亡,即(运行、就绪、挂起、结束)。2. 引起线程中断的常见原因是什么?答: JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU的使用权处于中断状态; 线程使用CPU资源期间,执行了sleep(int millsecond)方法,使当前线程进入休眠状态; 线程使用CPU资源期间,执行了wait()方法,使得当前线程进入等待状态; 线程使用CPU资源期间,执行某个操作进入阻塞状态,比如执行读/写操作引起阻塞。3. 一个线程执行完run()方法后,进入了什么状态?该线程还能再调用start()方法吗?答: 执行完run()方法后,进入了死亡状态;此时不能再调用start()方法。4. 线程在什么状态时,调用isAlive()方法返回的值是false。答: 线程处于“新建”状态时,线程调用调用isAlive()方法返回的值是false。 当线程处于“死亡”状态时,其返回值也是false.5. 建立线程有几种方法?答:用Thread类直接创建一个线程;创建时要向构造方法Thread(Runnable target)传递一个Runnable接口的实例。 用Thread类的子类创建一个线程;需要重写父类的run()方法。6. 怎样设置线程的优先级?答: 线程的优先级通过setPriority(int grade)方法设置,需要传递一个在0-10的int型参数。7. 在多线程中,为什么要引入同步机制?答: 引入同步机制解决了当两个或两个以上线程同时访问同一个变量,并且一个线程需要修改这个变量时发生的混乱。8. 在什么地方wait()方法、notify()及notifyAll()方法可以被调用?答:通常在线程的同步方法中使用到它们。 不涉及同步的时候也可以调用,wait()方法挂起一个线程,notifyAll()方法使得挂起的线程恢复。9. 将例子9.14中的循环条件: while(五元钱的个数3) 改写成: if(五元钱的个数3) 是否合理。答: 合理;因为在这道题中,while并不代表循环,而是表示条件,所以可以用if代换。10.线程调用interrupt()的作用是什么?答: interrupt()方法用来“吵醒”休眠的线程。即: 它所完成的是当线程处于阻塞状态时,抛出InterruptedException异常,使其从阻塞状态退出来。注: interrupt()方法不会中断一个正在运行的线程。第十章1如果准备读取一个文件的内容,应当使用FileInputSream流还是FileOutputStream流?应当使用FileInputSream流2FileOutputStream流的read()方法和FileReader流的read()方法有何不同?FileOutputStream流的read方法从输入流中顺序读取单个字节的数据。该方法返回字节值(0255之间的一个整数),读取位置到达文件末尾,则返回-1。FileReader流的read()方法 输入流调用该方法从源中读取一个字符,该方法返回一个整数(065535之间的一个整数,Unicode字符值),如果未读出字符就返回-1。3BufferReader流能直接指向一个文件对象吗?不能。4ByteArrayOutPutStream流怎么样获取缓冲区中的内容?可以捕获内存缓冲区的数据,转换成字节数组。5DataInputSream流和DataOutputSream类的主要用途是什么?DataInputStream(InputStream in) 将创建的数据输入流指向一个由参数in指定的输入流,以便从后者读取数据(按着机器无关的风格读取)。DataOutputStream(OutnputStream out) 将创建的数据输出流指向一个由参数out指定的输出流,然后通过这个数据输出流把Java数据类型的数据写到输出流out。6怎么样使用输入/输出流技术克隆对象?使用对象流很容易得获取一个序列化对象的克隆。我们只需将该对象写入到对象输出流,然后用对象输入流读回的对象就是原对象的一个克隆。第11章1一个URL对象通常包含哪些信息?答:协议、地址、资源。2怎么样读取URL中的资源? 答:URL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论