大学_JAVA程序设计_2010秋复习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A. 构造方法的名字必须与类的名字完全相同。
B. 构造方法没有返回值也不能用 void 修饰。
C. 父类的构造方法不能被子类继承。
D. 构造方法必须用 public 访问控源自文库符修饰。
一.3 给出如下代码:b
class Test {
private int m;
public static void fun() { /* some code... */ }
属性 ⑶ 类 TestStudent 作为主类要完成测试功能 ① 用以下信息生成一个 Student 对象 aStudent 姓名: 杨过 性别: 男 身份证号: 22033198807070333 学号: 2004002 ② 设置 E-mail: yangguo@zjtvu.edu.cn 设置联系电话: 88078549 ③ 输出对象 aStudent 的各项信息
}
如何使成员变量 m 被函数 fun()直接访问?
A. 将 private int m 改为 protected int m
B. 将 private int m 改为 public int m
C. 将 private int m 改为 static int m
D. 将 private int m 改为 int m
一.5 在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数个
数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的
特性称为( c )。
A. 隐藏
B. 覆盖
C. 重载
D. Java 不支持此特性
以下程序的输出结果是() public class Test {
public static void main(String [] args) { int x = 5; boolean b1 = true;
public class testStudent{
第7页共9页
public static void main(String [] x){ Student astudent=new Student(2004002," 杨 过 ",' 男
',"22033198807070333"); astudent.setEmail("yangguo@zjtvu.edu.cn"); astudent.setphone("88078549"); String info=astudent.toString(); System.out.println(info); }
Caution :
一.1 以下哪条语句可以通过编译?(b)
A. String #name = "Jane Doe";
B. int $age=24;
C. Double _height = "123.5";
D. double ~temp = 37.5;
一.2 下列关于 Java 类的构造方法的说法中错误的是:d
一.4 下面哪个函数是 public void example() {...}的重载函数?b
A. public void example() {...} B. public int example() {...} C. public void example2() {...} D. public int example(int m, float f) {...}
} A. 在 alpha()中可以直接调用 beta(); B. 在 beta()中可以直接调用 alpha(); C. 在其中任一个方法中均可以直接调用另一个方法 D. 在其中任一个方法中均不可以直接调用另一个方法
一.10 关于下面数组定义的正确说法是?D
String[][] s = new String[10][];
this.name=name;
this.sex=sex;
this.id=id;
}
public String getID(){
return id;
}
public void setEmail(String email){
s = (Student)t; 关于最后一条语句的正确说法是: A. 将构造一个 Student 对象。
B. 类型转换正确。
C. 表达式是错误的。 D. 编译时正确,但运行时错误。
第2页共9页
一.9 根据下面代码,找出正确的选项。D
public class Test {
static Object o;
第1页共9页
boolean b2 = false;
if ((x == 4) && !b2)
System.out.print("l ");
System.out.print("2 ");
if ((b2 = true) && b1) //若是改成 if ((b2==true) && b1) 则只输出 2
改错题(20 分)
说明:写出每段代码的错误原因并改正错误,每小题 4 分,说明原因和改正各 2 分。 1. class First { }
import java.io.*; package mypackage; class Second { }
2. class A { String name; public A(String s) {
二、应用设计题(6 分) 下面是某公司人事管理系统进行分析过程中发现的部分类,请找出它们之间的关
系,用 UML 的类图描述: 雇员、固定雇员、临时雇员、经理、促销员(临时)
三、程序设计题(24 分)
第6页共9页
说明:按照题目要求编写下面两段程序。 1. 编写一个完整的 Java Application 程序。包含类 Person、Student、TestStudent,
具体要求如下:(14 分) ⑴ 类 Person:
① 属性 name:String 对象,表示一个人姓名 sex:char 类型,用来表示性别 id:String 对象,表示身份证号 phone:String 对象,表示联系电话 email:String 对象,表示 E-mail 地址
② 方法 Person(String name, char sex, String id):构造函数 String getId():获取身份证号 void setEmail(String email):设置 E-mail 地址 void setPhone(String phone):设置联系电话 String toString():返回个人的各项信息,包括姓名、性别等上述属性
⑵ 类 Student: 从 Person 类派生,增加了以下属性和方法:
① 属性 sNo:long 类型,表示学生的学号 sClass:String 对象,表示学生的班级
② 方法 Student(long sNo, String name, char sex, String id):构造函数 setClass(String sClass):设置学生的班级信息 String toString():返回学生的各项信息,包括学号、班级、姓名等上述
一.7 下列关于对象类型转换的说法中正确的是: A. 某类的对象引用只能指向它的直接子类的对象。 B. 不存在祖先与后代关系的两个类的对象之间一定不能进行类型转换。 C. 后代类的对象引用能指向其祖先类的对象。 D. 对象类型转换只有强制转换而没有自动转换。
一.8 类 Teacher 和 Student 是类 Person 的子类,则 B Person p; Teacher t; Student s; // 设 p,t 和 s 都是非 null 引用 if(t instanceof Person)
name = s; } } class B extends A {
int id; public B (int i) { id = i; } }
3. public class B extends A { final void increase() { value += 2; }
} class A {
int value = 0; final void increase() {
value += 1; } }
第4页共9页
一、程序阅读题(20 分) 说明:阅读下面程序并写出它们的输出结果,每小题 5 分。
1. 程序如下: class Base { public Base() { System.out.println("What a pleasure!"); } public Base(String s) { this(); //调用上面的 public Base() ??? System.out.println("I am " + s + "!"); } }
A. 数组 s 定义不合语法
B. s 是 10×10 的 2 维数组
C. s 数组的所有元素都是""
D. s 是 10 个数组的数组
一.11 下列程序的正确输出是。A
public static void main(String[] args) {
Scanner scanner = new Scanner("this is one that is two");
public static void main(String args[]) {
System.out.println(o);
}
}
A. 编译时将产生错误。
B. 编译时正确,运行时将产生错误。
C. 程序输出零。
D. 程序输出 null。
关于类 Foo 的以下说法中正确的是()
A
class Foo { static void alpha() { /* more code here */ } void beta() { /* more code here */ }
}
public Child() { this("I am Tom");
} }
E:\shiyan\others>java
What a pleasure! I am Mike! How do you do?
第5页共9页
2. 程序如下: class DivTest { public static void main(String[] args) { int r, n, d; n = 10; d = 0; try { r = n / d; System.out.println("r=" + r); } catch(ArithmeticException e) { System.out.println("发生除数为 0 的异常!"); } finally { System.out.println("除法运算完毕!"); } System.out.println("程序运行结束!"); } }
System.out.print("3");
}
}
A. 2
B. 3
C. 1 2
D. 2 3
一.6 关于异常处理下列说法中正确的是:B A. Java 系统中所有异常都需要捕获处理。 B. catch 子句是通过类型匹配来捕获异常对象的。 C. try-catch-finally 结构处理完异常后结束程序的运行。 D. 异常是一种错误,所以在程序中应该完全避免异常的出现。
scanner.useDelimiter(" is");
while(scanner.hasNext()) { System.out.print(scanner.next());
}
第3页共9页
} A. this one that two C. thone that two
B. th one that two D. this is one that is two
} /*********************************/ class Person{
String name; char sex; String id; String phone; String email;
Person(String name, char sex, String id){
public class Child extends Base {
public static void main(String args[]) { Child t = new Child("Mike");
}
public Child(String s) { super(s); System.out.println("How do you do?");
相关文档
最新文档