资源描述
1. Applet:采用Java创建的基于HTML的小应用程序
2. Serialist:服务端的java应用程序(可以生成动态的网页)
3. Jacobeans:一种在Java(涉及JSP)中使用可反复使用的Java组件的技术规范
4. 包(package):防止同名的类名产生冲突,所以封装在一个包下面
5. 标记符:以字母开头的字母数字序列
6. 关键字:java语言定义的,具有特定含义的单词
7. 符号常量:指用关键字final声明的保存在程序中不能改变的数据
8. 数据:能输入到计算机中并且可以被计算机接受的各种符号的集合
9. 类型/数据类型:具有相同的逻辑意义的一组值得集合
10. 变量:保存在程序中的可以改变数据
11. 常量:保存在程序中的不能改变的数据
12. 类型相容:两个不同的数据类型具有相同的性质,可以参与相同的运算,运算结果的数据类型为精度高的,范围大的那种
13. 隐式类型转换:java数据类型从低类型转换为高类型
14. 显式类型转换:java数据类型从高类型转换为低类型
15. 方法重载:让类以统一的方式解决不同类型数据的一种手段
16. 递归:概念自身直接或间接的定义自己
17. 类/对象:数据以及对数据的一组操作的封装体,而对象可以看做类的一个具体的实例
18. 封装:将数据以及对数据的操作组合成一个类,但这个类可以提供与外部联系的方法又可以隐藏实现的细节
19. 构造方法:创建类的一个实例并对实例的成员进行初始化
20. 拷贝构造方法:创建新的对象初始化为形式参数的实例值,实现对象的复制
21. 对象浅拷贝:不拷贝对象和数组的,只拷贝基本类型
22. 对象深拷贝:对象,对象内部的引用均复制
23. 继承(inherit):一个对象直接使用另一对象的属性和方法
24. 多态(polymorphism):接口的多种不同的实现方式
25. 重载(overload):一个类中的方法与另一个方法同名,但是参数表不同
26. 覆盖(override):子类方法的名称、参数和返回类型必须与父类方法一致
27. 抽象类:类中也许已有一些方法的具体定义,但是接口就仅仅只能定义各个方法 抽象类不能被实例化
28. 最终类:把一个类的功能固定下来,不允许定义它的子类对其进行扩充
29. 接口(interface):把所需成员组合起来,以封装一定功能的集合,不能实例化
30. 异常解决:java通过5个关键字来解决程序碰到异常时所发生的事件
31. GUI:指采用图形方式显示的计算机操作用户界面 (即:图形用户界面)
32. 线程(thread):可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程
33. 交互线程:线程之间共享某些变量,线程的执行也许影响其他线程的执行结果,有制约关系
34. 线程互斥:某一资源同时只允许一个访问者对其进行访问
35. 线程同步:多个线程按照预定的顺序运营,协同、协助、互相配合
36. TCP/IP:传输控制协议
37. HTTP:超文本传送协议
38. HTML:超文本标记语言
39. URL:网页和其他资源的地址
40. 流(stream):连续传输的信息序列
41. SQL:一种对关系数据库中的数据进行定义和操作的结构化查询语言
42. JDBC:一种用于执行SQL语句的Java API
( )1. Java.exe是JDK的编译工具。×
( )2. 编译后的Java应用程序可由Java.exe解释执行。
( )3. Java源程序经编译后生成字节码文献。
( )4. Java应用程序编译后生成二进制可执行文献。×
( )5. 编译后的Java应用程序可直接在操作系统下运营。×
( )6. 编译后的Java应用程序可由Javac.exe解释执行。×
( )7. 命令行解释执行java应用程序必须包含扩展名(.class)。×
( )8. 命令行编译java应用程序必须包含扩展名(.java)。
( )9. Java源程序的文献名必须与public类的名称完全一致。
( )10. 任何Java程序都必须以类的形式出现。
( )11. 一个Java源程序文献中可以定义若干个类。
( )12. 一个Java源程序文献中只能定义一个public类。
( )13. 语义错误可以在编译时就被发现。×
( )14. 语法错误需要等到运营时才会被发现。×
( )15. Java系统自身对程序的逻辑错误没有辨认能力。
( )16. 标记符不能使用中文字。×
( )17. 标记符中的字母区分大小写。×
( )18. 符号常量名必须所有大写。×
( )19. 多行注释和文档注释不可以嵌套使用。×
( )20. 只有整型数据可以进行求余(%)运算。
( )21. 求余(%)的运算结果符号与除数相同。×
( )22. 浮点类型数据不能进行求余运算。
( )23. 8种基本数据类型的类型名全为小写。
( )24. 字符串属于基本数据类型。×
( )25. Java变量遵从先声明后使用的原则。
( )26. 变量赋初值不能使用连续"="。
( )27. 不能使用连续"="给多个变量赋值。×
( )28. 没有特别指明的整数都是属于长整型。×
( )29. 没有特别指明的浮点数都是属于双精度。
( )30. Java的布尔类型与C语言相同。×
( )31. Java字符以Unicode码表达。
( )32. Java标记符的长度没有限制。
( )33. Java标记符中可以使用汉字。
( )34. Java的字符串必须在一行内写完。
( )35. ++、-- 运算只合用于变量。
( )36. 基本数据类型都可参与关系运算。
( )37. 关系运算的结果一定为布尔值。
( )38. 逻辑运算的操作数必须是布尔型。
( )39. 赋值运算具有左结合性。×
( )40. 赋值运算中的左值必须是变量。
( )41. 条件运算的后两个表达式类型必须相同。
( )42. instanceof运算的左操作数为类,右操作数为对象。×
( )43. 表达式的结果类型为范围大、精度高的那种数据类型。
( )44. 字符是一种数值类型, 可与整数、浮点数进行算术运算。
( )45. 显式类型转换是暂时的,并不会改变本来变量的类型。
( )46. 复合语句中不能有声明语句。×
( )47. 复合语句中声明的变量只在该{}内可见。
( )48. Java用于判断的条件表达式与C完全一致。×
( )49. Java用于判断的条件表达式必须为布尔类型。
( )50. 在if-else嵌套时,假如没有强制配对,else则按缩格排版与if配对。×
( )51. 在if-else嵌套时,假如没有强制配对,else则选择与离它最近的if配对。
( )52. switch后的表达式类型可认为任何整数类型。×
( )53. switch后的表达式必须为布尔类型。×
( )54. switch后的表达式类型不能为浮点型。
( )55. case后的常量表达式必须与switch后的表达式类型相同。
( )56. do-while语句条件表达式后必须有一个分号(;)。
( )57. 其它循环语句都可以用for循环替代。
( )58. 必须是同一种循环结构才可以嵌套使用。×
( )59. 不同的循环结构可以互相嵌套使用。
( )60. 数组属于引用数据类型。
( )61. 用另一数组给某数组赋值并不会改变该数组的存储分派。×
( )62. Java二维数组可以分解为若干个一维数组。
( )63. Java支持不规则(变长)二维数组。
( )64. Java不支持类之外的全局变量和全局函数。
( )65. 方法若无返回值则可以省略最后的return语句。
( )66. 方法中声明的变量为局部变量。
( )67. 方法的形参变量为共享变量。×
( )68. main方法只能由Java虚拟机直接调用,其它方法不能调用它。
( )69. 数组的长度拟定后还可根据需要就地扩容。×
( )70. "中国ABC".length() = 7 。×
( )71. 一个类中不能有同名的成员变量。
( )72. 一个类的成员变量不能与成员方法同名。×
( )73. 一个类中不能有同名的成员方法。×
( )74. 声明了有参构造方法后,类的默认无参构造方法将不再可用,除非重写。
( )75. 设立为缺省访问权限的类只可被同一个包中的类访问。
( )76. Java采用垃圾回收机制因而不能声明析构方法。×
( )77. Java的一个子类可以继承自多个父类。×
( )78. Java的子类还可再派生子类。
( )79. Java的一个类可以实现多个接口。
( )80. 子类可以继承父类的所有构造方法。×
( )81. 子类可以重定义从父类继承来的成员。
( )82. super([参数列表])语句在子类构造方法中必须放在最前面!
( )83. 子类对象可以引用父类实例。×
( )84. 方法重载属于编译时多态,可以在编译阶段拟定执行重载方法中的哪一个。
( )85. 包含抽象方法的类必须被声明为抽象类。
( )86. 抽象类的所有方法都必须是抽象方法。×
( )87. 构造方法不能声明为抽象方法。
( )88. 静态方法不能被声明为抽象方法。
( )89. 不能创建抽象类的实例。
( )90. 非抽象类必须实现从父类继承来的所有抽象方法。
( )91. 最终类中包含的方法通常都是最终方法。
( )92. 最终方法不能被子类覆盖。
( )93. 非最终类也可以包含最终方法。
( )94. 一个类可以实现多个接口,一个接口也可被多个类实现。
( )95. 接口不能有构造方法。
( )96. 接口的方法都是抽象的。
( )97. 接口的数据成员都是常量。
( )98. 接口变量可引用实现类的实例。
( )99. 接口变量可访问其引用实现类的所有方法。×
( )100. 字符串大小比较不能直接使用>、>=、<、<=等关系运算符。
( )101. 判断两个字符串是否相等不可以直接使用==。×
( )102. 容器(Container)不是Component类的子类。×
( )103. 窗口是顶层容器,不能包含在其他容器中。
( )104. 面板(Panel)是个无形的窗格,它不允许有标题、边框和菜单栏等。
( )105. 一个窗口(Window)只能包含一个面板(Panel)。×
( )106. 面板(Panel)中还可以嵌套面板(Panel)。
( )107. Frame和Dialog默认是不可见的。
( )108. 标签(Label)不能用于输入,也不能响应事件。
( )109. Swing组件都是容器(Container)类的子类,它们都具有容器特性。
( )110. javax.swing包中的菜单、菜单项都属于抽象按钮类。
( )111. JMenuItem是JMenu的子类。×
( )112. 菜单栏和快捷菜单均不受窗口布局管理器的影响。
( )113. 需要在程序中调用组件的paint(Graphics g)方法才可进行绘图。×
( )114. 只须覆盖组件的paint(Graphics g)方法即可在组件上绘图。
( )115. Rectangle类提供在组件上绘制矩形的方法。×
( )116. Graphics抽象类定义了在组件上绘制图形的各种方法。
( )117. 多线程的执行顺序与线程启动语句的书写顺序一致。×
( )118. 并发执行的线程的运营结果具有不拟定性。
( )119. 调用线程对象的interrupt()方法将立即中断该线程的运营。×
( )120. 可以对Java线程设立3种优先级。×
( )121. IP地址是为Internet上的每台计算机设定的唯一的物理地址。×
( )122. Applet小应用程序必须声明为public的。
( )123. Applet小应用程序不需要main()方法。
( )124. 文献既可以作为输入流,也可以作为输出流。
( )125. 显示器既可以作为输入流,也可以作为输出流。×
( )126. 通过对象字节流提供的方法可以将程序中的任何对象写入文献中。×
( )127. File类封装了对文献进行读/写操作的方法。×
( )128. File类封装了用于访问或设立文献属性的方法。
( )129. File类封装了对文献/目录进行创建、删除等操作的方法。
( )130. RandomAccessFile类提供对文献进行随机存/取的方法,可以读/写文献指定位置的数据。
( )131. 通过URL类可获得Intrenet资源的大小、类型等信息。×
( )132. URL类封装了将主机名解析为IP地址(或反之)的方法。×
( )133. 通过URLConnection类可获得Intrenet资源的大小、类型等信息。
( )134. InetAddress类提供了将主机名解析为IP地址(或反之)的方法。
( )135. IP协议是一个无连接的协议,提供"不承诺"的通信服务。
( )136. TCP协议是一个面向连接的协议,能提供可靠的数据传输服务。
( )137. UDP协议是一个无连接的协议,不能完全保证数据传输的可靠性。
( )138. TCP连接属于点对点连接,不支持组播功能。
( )139. UDP数据报通信支持单播和组播。
1. Java针对桌面应用、公司级应用和嵌入式应用分别推出了Java SE、Java EE和Java ME三个版本。
2. JDK安装完毕后通常需要设立 path 、 classpath 两个环境变量
3. 按照错误的性质可将程序错误提成 语法错 、 语义错 、 逻辑错 三类。
4. Java符号按词法可分为 标记符 、 关键字 、 运算符 、 分隔符 和 符号常量 5类
5. Java程序中可以使用 单行注释 、 多行注释 和 文档注释 3种注释。
6. Java的引用类型涉及 数组 、 类 、 接口 三种。
7. 声明变量涉及给出 变量名 和指明变量的 数据类型 ,必要时还可以指定 初始值 。
8. OOPL可以简朴地把程序描述为公式:程序 = 对象 + 消息 。
9. Java为类及其成员提供 公有 、 保护 、 缺省 和 私有 等多级访问控制。
10. 填空(打√或×)完毕以下类成员的访问权限表。
权限修饰符
所有类
子类
同一包
同一类
private
×
×
×
√
public
√
√
√
√
protected
×
√
√
√
缺省
×
×
√
√
11. 类的成员分为 实例成员 和 静态成员 两种,后者可通过类直接访问,为该类所有对象 共享 。
12. 声明类成员访问权限的关键字有 public 、 protected 、 private 。
13. 类、接口的关键字分别是 class 、 interface ,继承类和实现接口的关键字分别是 extends 和 implements 。
14. Java类库中与日期有关的类重要有 Date 和 Calendar 。
15. System类提供了 in 、 out 和 err 3个标准输入/输出常量。
16. Integer类提供 parseInt() 方法将字符串转换为整数,String类提供 length()方法获得字符串长度。
17. Class类提供查询对象的 类 、 父类 及 包 等信息的方法。
18. Runtime类的静态方法 getRuntime() 可获得当前应用程序的运营时环境对象,进而通过 freeMemory() 方法可查询剩余内存。
19. Arrays类提供对数组填充、 比较 、 排序 及 查找 等静态方法。
20. Java异常解决机制
21. Exception和Error类的父类是 Throwable ,它提供 getMessage() 方法获取异常信息, printStackTrace() 输出异常栈跟踪信息。
22. 一个异常对象需要经历 抛出 、 捕获 及 解决 3个过程。
23. Java异常解决语句的三个关键词是 try 、 catch 和 finally 。
24. GUI提供 应用程序与用户 交互的界面。它由 组件 组成, 通过响应各种约定的 事件 来完毕各种工作。
25. Java实现图形用户界面的组件包有 java.awt 和 javax.swing 两个,所有实际使用的组件都是 Component 类的子类。
26. Window类的常用子类重要有 Frame 和 Dialog ,前者常用作应用程序的主窗口。
27. AWT的文本输入组件类重要有 TextField 和 TextArea 。后者可输入多行并自带滚动条。
28. 文本行(TextField)组件可响应的常见事件类有 ActionEvent 、 Event 和 TextEvent 。
29. KeyListener接口约定的事件解决方法有 keyPressed(ke) 、 keyReleased(ke) 和 keyTyped(ke) 。参数ke为KeyEvent对象。
30. 按钮(Button)点击时触发 ActionEvent 事件,相应的事件监听器接口是 ActionListener ,事件解决方法是 actionPerformed(ae) 。
31. Window类的默认布局是 BorderLayout ,Panel类的默认布局是 FlowLayout 。
32. Container类提供 setLayout(lm) 方法可用于设立其中组件的布局,重载的 add() 方法用于添加组件。
33. Font类提供通过 字体名 、 字形 及 字号 参数来创建字体对象的构造方法。
34. 列表框(JList)重要响应 ListSelectionEvent 事件,相应的事件监听接口为 ListSelectionListener ,事件解决方法是 valueChanged( e) 。
35. 下拉列表框(JComboBox)重要响应 ActionEvent 和 ItemEvent 事件,相应接口的事件解决方法是 actionPerformed( e) 和 itemStateChanged( e) 。
36. JOptionPane提供的标准对话框通常分为 消息 、 确认 、 输入 及组合型多种形式。
37. JOptionPane类提供了用于便捷显示常用对话框的 showMessageDialog() 、 showConfirmDialog() 和 showInputDialog() 三个静态方法。
38. 菜单通常分 窗口菜单 和 快捷菜单 两种类型。
39. 窗口菜单由 JMenuBar 、 JMenu 和 JMenuItem 等组件构成。
40. JMenuItem和JMenu重要响应 ActionEvent 和 MenuEvent 和 MenuKeyEvent 等事件。
41. 进程动态特性表现为 就绪 、 运营 和 阻塞 三种状态。
42. 线程调度采用 剥夺 方式。就绪线程按 优先级 排队,遵循 先到先服务 原则。
43. 并发进程的各线程间通常具有 并发性 、 共享性 、 制约性 和 交互性 等特性。
44. Java提供两种创建线程常见方式,一是实现 Runnable 接口,二是继承 Thread 类。线程的操作代码则写于 run( ) 方法内,调用线程对象的 start() 方法启动线程。
45. 动画设计经常运用线程线程对象的 sleep() 方法或Swing的 Timer 组件来进行快慢控制。
46. 存在资源竞争的两个线程也许导致 死锁 或 饥饿 两个问题
47. TCP/IP协议可分为 应用层 、 传输层 、 网络层 及接口层(链路层和物理层)等4层。
48. URL的基本结构由 传输协议 、 主机 、 端口 、 文献 和 引用 5部分组成。
49. 一个Applet对象会经历由 初始态 、 运营态 、 停止态 到 消亡态 的一个生命周期。
50. 与Applet状态改变有关的方法重要有 init() 、 start() 、 stop() 和 destroy() 4个。
51. 根据文献的逻辑结构可将文献分为 流式文献 和 记录式文献 2大类。
52. Java流的根类重要有 InputStream 、 OuputStream 、 Reader 、 Writer 4个。
53. 在关系模型中,关系即为一张规范化的二维表,代表一个 实体集 ,表的每一行表达一个 实体 ,表的每个列表达实体的一个 属性 。
54. 关系数据库为数据提供 实体完整性 、 参照完整性 和 用户定义完整性 三类完整性约束。
55. SQL语言提供 数据定义 、 数据查询 、 数据操纵 和 数据控制 等功能。
56. 填表完毕4类SQL语句的动词。
SQL功能
语句动词
数据定义
CREATE、DROP、ALTER
数据操纵
INSERT、UPDATE、DELETE
数据查询
SELECT
数据控制
GRANT、REVOKE
57. JDBC规范规定实现的的4个重要接口是 Driver 、 Connection 、 Statement 和 ResultSet 。
第一章
1. 简述Java语言的重要特点。
简朴性:内核小、语言精。
完全面向对象:所有设计都必须在类中实现,一个Java程序就是多个类的集合。
可靠性:提供严密的语法规则,在编译和运营时严格检查错误;自动资源回收机制,减小了内存犯错的也许性。
安全性:良好的安全模型;摈弃了其它语言的不安全成份。
分布式:直接支持分布式的网络应用,可实现高效的网络编程
多线程:提供环境级和语言级的多线程支持,提高了程序执行的并发度,提高系统执行效率。
平台无关性:借助虚拟机,程序不经修改即可在不同硬件或软件平台上运营。
2. Java的重要核心技术有哪些?
JDBC/JTA/JPA :Java数据库相关技术
JSP/Servlet/JSF:Java服务端表达层技术
JavaBean/EJB:Java组件技术
JavaMail:Java邮件开发技术
JNDI: Java命名和目录服务技术
3. Java程序可分为哪几种重要类型?
Application:Java应用程序,是可以由Java解释器直接运营的程序。
Applet:即Java小应用程序,是可随网页下载到客户端由浏览器解释执行的Java程序。
Servlet:Java服务器端小程序,由Web服务器(容器)中配置运营的Java程序。
JavaBeans:Java组件,是可重用的Java数据和功能的封装,由其它程序调用执行。
4. 简述Java Application和Applet的开发环节
Application的开发环节:
(1)运用文本编辑器建立Java源程序文献(.java);
(2)运用Java编译器(Javac.exe)编译该Application,生成字节码文献(.class);
(3)运用解释器(java.exe/javaw.exe)解释执行字节码文献。
Applet的开发环节:
(1) 运用文本编辑器建立Java源程序文献(.java);
(2) 运用Java编译器(Javac)编译该Applet,生成字节码文献(.class);
(3) 建立一个HTML文献,在其中嵌入Java字节码文献;
(4) 用WWW浏览器或appletviewer装入该HTML文献,使Applet运营。
5. 说明main方法的声明格式及各部分的含义。
public static void main(String args[])
public:公共方法,声明该方法可以被任何类访问
static:静态方法,声明该方法可通过类直接访问
void:无返回值,声明该方法不会返回值
main:主方法,是应用程序的运营入口
String args[]:运营时向main传递的参数,为字符串数组
6. 简述java包(package)与普通文献夹的异同。
相同点:都是组织和管理文献的一种方式,都是树状层次结构。
不同点:普通文献夹中可放置任何文献,文献信息中也不用事先记录其所属的文献夹,随时可以移动到别的文献夹。Java的包则重要用来组织字节码文献,且必须在文献中声明其所属的包,包层次以点(.)分隔而不是斜杆。
7. 简述Java源程序的基本结构。
package // 0或1个,必须是第一条语句
import // 0或n个
public class 或 interface // 0或1个,源程序的文献名必须与该公共类/接口同名
class // 0或n个
Interface // 0或n个
8. 解释打包命令( jar cfm myjar.jar mymf.txt *.class mydir )的功能。
将当前目录下的所有.class文献和mydir及其各级子目录中的所有.class文献打包进myjar.jar中,并在包中创建META-INF文献夹,其中的清单文献MANIFEST.MF内容从mymf.txt文献中提取。
9. 列举5个Java API的常用包并说明其内含。
java.lang:语言包,内含Java语言的核心类库;
java.awt:抽象窗口包,内含构建图形用户界面的类库;
java.text:文本包,内含各种文本或日期格式化等类;
java.io:输入/输出流包,内含标准输入/输出流类及文献操作类库;
:网络包,内含网络编程有关的类库。
10. 何谓语法错和语义错?列举常见的一些错误情形。
语法错是指违反语法规范的错误。如标记符未声明,类型不匹配、不兼容,括号不匹配,语句末尾缺少分号,else没有匹配的if等。语法错误编译时就能被发现。
语义错是指存在语言含义错误。如数据格式错,除数为0,变量赋值超过其范围,数组下标越界等。语义错需要等到运营时才会被发现。
11. 简述MyEclipse程序调试的基本过程。
① 设立断点:在也许出现错误的代码行右侧灰色带区双击设立为运营时的断点。
② 调试运营:点击Debug命令打开Debug透视图,程序执行至断点处暂停。
③ 单步或分段运营:通过Debug工具栏或RUN菜单,让程序逐条语句地单步运营或在断点之间分段运营。
④ 观测变量:通过Variables视图观测变量取值的变化,分析执行过程,找出逻辑错误所在。
12. 优秀程序员通常应遵循哪些基本程序书写规则?
规范化命名
完备的注释
规范的缩格排版
合理使用分隔符
第二章
13. 何谓隐式类型转换?其转换规则如何?
指由系统自动转换为可以参与运算或赋值的类型的类型转换方式。其基本规则如下:
① 在非赋值表达式中,低档类型会自动向高级类型转换;
switch (表达式) {
case 常量表达式1:
语句块1; [ break; ]
case 常量表达式2:
语句块2; [ break; ]
[default :
语句块n+1;]
}
② 在赋值表达式中,只有int型常数在未超过左值变量的范围时能对的地完毕自动转换(如byte b=127;),其它情况将出现转换错误或编译报错。
14. 何谓流程控制的结构化原则?
只有一个入口和一个出口;
结构内的每一部分都有机会被执行到;
结构内没有"死循环"。
15. 写出switch语句的结构并说明其执行过程。
语句结构如右。其执行过程为:将(表达式)的值按照从上至下的顺序依次与(常量表达式)的结果值进行比较,当(表达式)的值与某个常量值相等时,执行其后的(语句块),直到碰到break语句或switch语句结束;若没有与表达式值相等的常量值时,则执行default子句的语句块然后结束;若没有default子句则直接结束。
16. 简述return、break和continue语句的作用。
return语句用于结束方法调用返回调用程序,假如需要可返回方法调用结果。
break语句出现在switch或循环结构中,用于中止执行,跳出本程序结构。
continue语句称为循环短路语句,用于跳过后续语句立即开始下轮循环。
17. 写出for语句的结构并说明其执行过程。
for语句的结构为:
for (表达式1 ; 表达式2 ; 表达式3 ) 语句块
执行过程如右图所示。
第三章
18. 简述面向对象的封装和信息隐藏思想。
封装包含两层含义: 一是通过类将数据和对数据的操作封装起来形成不可分割的整体;二是通过封装实现信息隐藏,即类屏蔽了方法的实现细节,只提供调用接口让外界访问,从而实现信息隐藏。
封装也是软件模块化机制的具体体现。一个类就是一个独立的功能模块,多个类之间通过消息传递进行协同工作,完毕软件系统的所有功能。
信息隐藏的思想可以使设计和使用分离,使用者只需要知道"做什么",涉及有哪些类、每个类的特点、每个类提供了哪些常量和成员方法等(查API),而不需要知道这些方法实现的细节。
19. 简述方法多态在编译或执行时的查找策略。
对于方法重载,在编译时即能拟定调用重载方法的哪一个,属于编译时多态。
对于方法覆盖,假如对象引用的是本类实例,则在编译时也能拟定具体调用哪个方法,属于编译时多态;假如对象引用的是子类的实例,则属于运营时多态,需要等到运营时动态拟定是调用子类还是父类的方法,从引用的实例类开始寻找,逐级往上查找祖先类,直到找到为止,若始终没找到即报运营时错误。
20. 简述抽象类与抽象方法的作用。
抽象类用于描述抽象概念,其中声明的抽象方法为多个子类约定方法声明,每个子类可以根据自身的实际情况,给出抽象方法的具体实现,显然不同的子类可以有不同的方法实现。
一个抽象方法在多个子类中表现出多态性。抽象方法提供方法声明与方法实现的分离机制,使抽象类的多个子类可以表现出共同的行为能力,兼具共性和个性。
第四章
21. 简述接口与抽象类的异同.
共同点:从语法和作用上看,接口与抽象类很像,都是通过抽象的约定来定义类型,从而提供方法声明与方法实现分离的机制。
区别:抽象类为子类约定方法声明,并给出部分实现,涉及构造方法等; 抽象方法在多个子类中表现出多态性。抽象类只能被单继承。接口为多个互不相关的类约定某一特性的方法声明,一个类可以实现多个接口,从而实现多继承。
22. 列举几个Math类的常量和常用方法。
常量有:①自然对数的底数E,②圆周率PI
常用方法有:
① 求绝对值:abs()
② 求最大、最小值:max()、min()
③ 求三角函数:sin()、cos()、asin() …
④ 求对数:log()、log10()
⑤ 其它:pow()、random()、round() …
23. 列举System类的常量和常用方法。
常量有:①标准输入in,②标准输出out,③标准错误输出err
常用方法有:
① 数组复制:arraycopy()
② 结束程序:exit()
③ 获得系统时间:currentTimeMillis()
④ 获得系统所有属性:getProperties()
⑤ 获得系统某个属性:getProperty()
第五章
24. 简述Java的异常解决机制。
Java的异常解决机制为程序运营时出现的各种错误提供了了一个安全退出的通道。当出现错误后,程序正常执行流程将被中断,程序控制权转移到异常解决器。
Java的异常解决机制使程序正常代码与错误解决代码相分离,使程序结构清楚,可读性强。
Java异常解决是通过5个关键字来实现的:try,catch,throw,throws和finally。对于也许发生错误的代码需要放入try子句中,catch子句用于捕获和解决异常,finally子句用于善后解决。假如当前方法不想解决异常则可在声明语句后加throws子句向上抛出异常,让调用程序或虚拟机解决。对于一些逻辑错误,程序也可使用throw关键字积极抛出异常。
25. 列举常见的运营时异常类。
ArithmeticException,如整数除法或求余时除数为0
NullPointerException:如引用不存在的对象
ClassCastException:如不能成功地执行类型转换
NumberFormatException:如待转换为数值的字符串格式不对的
ArrayIndexOutOfBoundsException:数组元素引用时下标越界
StringIndexOutOfBoundsException:字符串访问时子串下标越界
26. 简述try-catch-finally语句的执行流程。
程序一方面执行也许发生异常的try语句块。假如try语句没有出现运营时异常则执行完后跳至finally语句块执行;假如try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行解决。catch语句块可以有多个,分别捕获不同类型的异常。catch语句块执行完后程序会继续执行finally语句块。finally语句是可选的,假如有的话,则不管是否发生异常,finally语句都会被执行。
第六章
27. 列举Component类的常用方法。
setBounds(int x,int y,int width,int height):坐标位置和宽度、高度
setVisible(boolean b):设立组件是否可见
setBackground(Color c):设立组件的背景颜色
setFont(Font f ):设立组件字体
getWidth()、getHeight():获得组件的宽度和高度
getX()、getY():获得组件的X、Y坐标
getBackground()、getForeground():获得组件的背景和前景颜色
getFont():获得
展开阅读全文