Java面向对象模拟试题1.doc
文本预览下载声明
一、判断题(正确的描述打钩,错误的打叉,每题1分,共10分)
1 抽象类中不可以有非抽象的方法。?? (错)
2 如果将一个对象强制类型转换为一个不兼容的类型,将引发NullPointerException
异常。??? (错)
3 Java中Object类是最顶层的类。 (对)
4 程序在编译通过以后,仍然可能出现运行时错误和逻辑错误。?? (对)
5 可以通过javac来运行一个Java Application。 (错)
6 可以在子类构造函数中通过this关键字调用基类的构造函数。?? (错)
7 Java语言是IBM公司设计的一种面向对象程序设计语言。(错)
8 一个Unicode字符占4个字节。 (错)
9 在循环语句中,使用continue;语句可以跳出循环。?? (错)
10 在Java Application中如果没有定义main()方法,则程序不能编译。 (错)
二、简答题(请将答案写到答题纸上,注明题号。每题3分,共30分)
1 请看以下代码:
??? package mytest;
??? public class Main {
???????? public static void main(String[] args) {
???????????? System.out.println(new A());
???????????? }
??? }
??? class A
??? {
??? }
?????? Java在运行上述代码时输出一个很奇异的结果:
??? mytest.A@60aeb0
尝试解释一下可能的原因.
点评:
???????? 本题的关键在于虽然类A没有定义任何方法,但它隐含着从基类Object中继承了toString()方法。答案必须点出这一结果是执行toString()方法得到的。
2?????? 什么叫多态?你是如何理解多态的?请设计一个简单的示例,展示多态的用法。
点评:
???????? 几乎所有的Java教材都要介绍多态的概念,但只有能用自己的语言说清楚,并能自己设计一个典型实例展示多态特性的,才算是真正弄明白了。
???????? 从试卷中发现,不少同学弄混了方法重载与方法覆盖,认为 “方法重载”就是多态。
3?????? 在Java GUI程序中,布局管理器是一个很重要的概念。谈谈你对这个概念的理解,并进而回答以下问题:
??? 如果要你开发出一个Windows资源管理器(图 1),你将如何应用合适的“布局管理器”来实现其界面?
图 1 Windows 7中的资源管理器
???????? 请指明你在图 1中的哪部分应用哪种布局管理器。
4 int和Integer都可以代表一个整数,这两者在使用上有什么区别吗?为什么JDK中要设计两个数据类型来表示同一种数据?
5????? Java Application的程序入口点为main()函数,其声明如下:
??????????? public static void main (String[] args)
??? 请解释一下为何main()函数是公有的和静态的?
6?? 抽象类与接口都不能直接用来创建对象,那么,这两者什么用?彼此之间又有何区别?
?? 你认为在哪种场合应该用抽象类,哪种场合应该用接口?在JDK中你能找到相应的实例吗?如果能找得到,请分析一下JDK的设计者为何将它们设计为“抽象类(或接口)”。
7 如何判断函数构成重载关系?挑出以下函数中不构成重载关系的函数,指明它违反了哪个判断准则。
??? (1)void myFunc();
??? (2)int myFunc(int x,int y);
??? (3)int myFunc(string str, string str2);
??? (4)string myFunc(int x, int y);
???????? 另外,你还记得JDK中有哪个类拥有重载的方法吗?列举一两个。
8 Swing和AWT都可以用于设计GUI(图形用户界面)程序,这两者有何区别?
?? 你还用过其他的编程语言或开发工具设计GUI程序吗?如果让它们与Java进行对比,你觉得使用Java设计GUI程序的优点在哪,缺点在哪?
???
????????
9?????? 在面向对象程序中,实现代码复用主要有两种方式:继承和组合。
???????? 请设计两段示例代码,分别展示出Java实现这两种方式的代码框架。
???????? 如果在某个实际开发场景中这两种方式都可用,你认为应该优先选择哪一种?原因?
10 各种类型的几何图形都有自己的面积计算公式,但在一个CAD(计算机辅助设计)软件中,图形的种类非常多,如果程序需要计算出任何一种图形的面积,最简单的想法是使用条件判断语句根据图形类型来
显示全部