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
A. 构造方法的名字必须与类的名字完全相同。
B. 构造方法没有返回值也不能用void修饰。
C. 父类的构造方法不能被子类继承。
D. 构造方法必须用public访问控制符修饰。
一.3给出如下代码:b
class Test {
private int m;
public static void fun() { /* */ }
}
如何使成员变量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
一.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) {...}
一.5在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。
A. 隐藏 B. 覆盖
C. 重载 D. Java不支持此特性
以下程序的输出结果是()
public class Test {
public static void main(String [] args) {
int x = 5;
boolean b1 = true;
boolean b2 = false;
if ((x == 4) && !b2)
System.out.print("l ");
System.out.print("2 ");
if ((b2 = true) && b1) //若是改成 if ((b2==true) && b1) 则只输出 2
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. 异常是一种错误,所以在程序中应该完全避免异常的出现。
一.7下列关于对象类型转换的说法中正确的是:
A. 某类的对象引用只能指向它的直接子类的对象。
B. 不存在祖先与后代关系的两个类的对象之间一定不能进行类型转换。
C. 后代类的对象引用能指向其祖先类的对象。
D. 对象类型转换只有强制转换而没有自动转换。
一.8类Teacher和Student是类Person的子类,则B
Person p; Teacher t; Student s; // 设p,t和s都是非null引用
if(t instanceof Person)
s = (Student)t;
关于最后一条语句的正确说法是:
A. 将构造一个Student对象。
B. 类型转换正确。
C. 表达式是错误的。
D. 编译时正确,但运行时错误。
一.9根据下面代码,出正确的选项。D
public class Test {
static Object o;
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 */ }java技术专家
void beta() { /* more code here */ }
}
A. 在alpha()中可以直接调用beta();
B. 在beta()中可以直接调用alpha();
C. 在其中任一个方法中均可以直接调用另一个方法
D. 在其中任一个方法中均不可以直接调用另一个方法
一.10关于下面数组定义的正确说法是?D
String[][] s = new String[10][];
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");
scanner.useDelimiter(" is");
while(scanner.hasNext()) {
System.out.());
}
}
A. this one that two B. th one that two
C. thone that two D. this is one that is two
改错题(20分)
说明:写出每段代码的错误原因并改正错误,每小题4分,说明原因和改正各2分。
1.class First { }
import java.io.*;
package mypackage;
class Second { }
2.class A {
String name;
public A(String s) {
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;
}
}
一、程序阅读题(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 + "!");
}
}
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?");
}
public Child() {
this("I am Tom");
}
}
E:\shiyan\others>java
What a pleasure!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论