收藏 分享(赏)

java2实用教程课后习题答案(第三版简单题).docx

上传人:ysd1539 文档编号:7200718 上传时间:2019-05-09 格式:DOCX 页数:4 大小:32.50KB
下载 相关 举报
java2实用教程课后习题答案(第三版简单题).docx_第1页
第1页 / 共4页
java2实用教程课后习题答案(第三版简单题).docx_第2页
第2页 / 共4页
java2实用教程课后习题答案(第三版简单题).docx_第3页
第3页 / 共4页
java2实用教程课后习题答案(第三版简单题).docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、第一章1. 开发与运行 Java 程序需要经过哪些主要步骤和过程?答:(1)编写 Java 源文件:使用文本编辑器(Edit 或记事本) ,拓展名为.java(2)编译 Java 源文件:使用 Java 编译器(javac.exe) 。得到字节码文件*.class(3)运行 Java 程序:Java 应用程序使用 Java 解释器(java.exe)执行字节码文件;Java 小应用程序使用支持 Java 标准的浏览器来执行。2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用 public 修饰吗?答: 应用程序必须有 main 方法,这个方法是程序执行的入口。小应用程序

2、没有 main 方法。应用程序的主类不一定用 public 修饰;小应用程序的主类必须用 public 修饰。3. Java 程序是由什么组成的?一个程序中必须要有 public 类吗?Java 源文件的命名规则是怎样的?答: Java 程序由类组成。应用程序可以没有 public 类;小应用程序一定有一个类是 public 类(主类) 。应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有 public 类(最多一个),源文件名与 public 类的类名相同,拓展名是.java;没有 public 类,源文件名与任何一个类的类名相同即可,拓展名为.jav

3、a。小应用程序:源文件名与主类的类名相同,拓展名是.java。第四章1. 类中的实例变量在什么时候会被分配内存空间?答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。 2. 什么叫方法的重载?构造方法可以重载吗?答:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性) 。构造方法可以重载。3. 类中的实例方法可以操作类变量(static 变量)吗?类方法(static 方法)可以操作实例变量吗?答:类中的实例方法可以操作类变量。类方法不可以操作实例变量4. 类中的实例方法可以用类名直接调用

4、吗?答: 类中的实例方法不可以用类名直接调用。5. 举例说明 protected 方法和友好方法的区别。答: 当子类与父类不在同一个包中时,子类可以继承父类的 protected 方法;而友好方法此时则不能被子类继承。6. 举例说明类变量和实例变量的区别。答:书写: 定义成员变量时,类变量有 static 修饰;实例变量没有 static 修饰。例: class Aint x; /实例变量static int y; /类变量内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。任何一个对象改

5、变类变量,其他对象的相应类变量也发生相应变化。一个对象的实例变量发生改变,不影响其他对象的相应实例变量。例: 执行语句: 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; /非

6、法A.y=20; /合法7. 子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?答:子类和父类在同一个包中时,子类可以继承父类的除 private 属性的所有方法和成员变量,当子类与父类不在同一个包中时,子类只能继承父类的 protected 和 public 属性的成员变量和方法。子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写) 。在子类中允许有一

7、个方法和父类的方法名字相同而类型不同。8. 父类的 final 方法可以被子类重写吗?答: 父类的 final 方法不能被子类重写。9. 什么类中可以有 abstract 方法?答: abstract 类中可以有 abstract 方法。10.什么叫对象的上转型对象?答: B 类是 A 类的子类或间接子类,当用子类 B 创建一个对象 b 并把这个对象的引用放到 A 类的对象 a 中时,称 A 类对象 a 是子类对象 b 的上转型对象。11.什么叫接口的回调?答: 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。3. Checkbox 对象可以触发 ItemEvent 事件吗?

8、答: 可以。 15.使用接口有哪些注意事项?答:一个类使用接口时,要有 implements 关键字,当一个类使用多个接口时,接口名要用逗号“, ”隔开;使用接口的类除 abstract 类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用 public 修饰,如果接口方法的返回类型不是 void 型,在类中实现接口时,方法体至少有一个 return 语句。第 9 章1. 线程有几种状态?答: 一个线程在它的一个完整的生命周期有 4 种状态,分别是:新建、运行、中断和死亡,即(运行、就绪、挂起、结束)。2.

9、 引起线程中断的常见原因是什么?答: JVM 将 CPU 资源从当前线程切换给其他线程,使本线程让出 CPU 的使用权处于中断状态;线程使用 CPU 资源期间,执行了 sleep(int millsecond)方法,使当前线程进入休眠状态;线程使用 CPU 资源期间,执行了 wait()方法,使得当前线程进入等待状态;线程使用 CPU 资源期间,执行某个操作进入阻塞状态,比如执行读/写操作引起阻塞。3. 一个线程执行完 run()方法后,进入了什么状态?该线程还能再调用 start()方法吗?答: 执行完 run()方法后,进入了死亡状态;此时不能再调用 start()方法。4. 线程在什么状

10、态时,调用 isAlive()方法返回的值是 false。答: 线程处于“新建”状态时,线程调用调用 isAlive()方法返回的值是 false。当线程处于“死亡”状态时,其返回值也是 false.5. 建立线程有几种方法?答:用 Thread 类直接创建一个线程;创建时要向构造方法 Thread(Runnable target)传递一个 Runnable接口的实例。用 Thread 类的子类创建一个线程;需要重写父类的 run()方法。6. 怎样设置线程的优先级?答: 线程的优先级通过 setPriority(int grade)方法设置,需要传递一个在 0-10 的 int 型参数。7.

11、 在多线程中,为什么要引入同步机制?答: 引入同步机制解决了当两个或两个以上线程同时访问同一个变量,并且一个线程需要修改这个变量时发生的混乱。8. 在什么地方 wait()方法、notify()及 notifyAll()方法可以被调用?答:通常在线程的同步方法中使用到它们。不涉及同步的时候也可以调用,wait()方法挂起一个线程,notifyAll()方法使得挂起的线程恢复。9. 将例子 9.14 中的循环条件:while(五元钱的个数3)改写成:if(五元钱的个数3)是否合理。答: 合理;因为在这道题中,while 并不代表循环,而是表示条件,所以可以用 if 代换。10.线程调用 inte

12、rrupt()的作用是什么?答: interrupt()方法用来“吵醒”休眠的线程。即: 它所完成的是当线程处于阻塞状态时,抛出InterruptedException 异常,使其从阻塞状态退出来。注: interrupt()方法不会中断一个正在运行的线程。第十章1如果准备读取一个文件的内容,应当使用 FileInputSream 流还是 FileOutputStream 流?应当使用 FileInputSream 流2 FileOutputStream 流的 read()方法和 FileReader 流的 read()方法有何不同?FileOutputStream 流的 read 方法从输入

13、流中顺序读取单个字节的数据。该方法返回字节值(0255 之间的一个整数) ,读取位置到达文件末尾,则返回-1。FileReader 流的 read()方法 输入流调用该方法从源中读取一个字符,该方法返回一个整数(065535 之间的一个整数,Unicode 字符值) ,如果未读出字符就返回 -1。3 BufferReader 流能直接指向一个文件对象吗?不能。4 ByteArrayOutPutStream 流怎么样获取缓冲区中的内容?可以捕获内存缓冲区的数据,转换成字节数组。5 DataInputSream 流和 DataOutputSream 类的主要用途是什么?DataInputStrea

14、m(InputStream in) 将创建的数据输入流指向一个由参数 in 指定的输入流,以便从后者读取数据(按着机器无关的风格读取) 。DataOutputStream(OutnputStream out) 将创建的数据输出流指向一个由参数 out 指定的输出流,然后通过这个数据输出流把 Java 数据类型的数据写到输出流 out。6怎么样使用输入/输出流技术克隆对象?使用对象流很容易得获取一个序列化对象的克隆。我们只需将该对象写入到对象输出流,然后用对象输入流读回的对象就是原对象的一个克隆。第 11 章1一个 URL 对象通常包含哪些信息?答:协议、地址、资源。2怎么样读取 URL 中的资源?答:URL 对象调用 InputStream openStream()方法可以返回一个输入流,该输入流指向URL 对象所包含的资源。通过该输入流可以将服务器上的资源信息读入到客户端。4.客户端的 Socket 对象和服务端的 Socket 对象是怎样通信的?首先服务器端先建立 socket,然后绑定事件进行监听,接着客户端建立 socket,然后连接服务器,连接后进行通信,通信完成断开5 SeverSocket 对象调用什么方法来建立服务器端的 Socket 对象?该方法有什么特点?Socket()方法,默认构造方法创建的套接字对象没有与任何本地址地址绑定,也位于任何远程主机进行连接。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报