Java 第16周练习题
一 判断题
T 1-1 System.out.println(); 语句的作用是在结尾显示一个换行符。
T 1-2 Java中所有的I/O都是通过流来实现的。
T 1-3 Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。
T 1-4 接口中的方法默认是public abstract方法。
T 1-5 接口中的常量默认是public static的变量。
T 1-6 类在实现接口的方法时,必须显式地使用public修饰符。
T 1-7 一个类只能有一个父类,但一个接口可以有一个以上的父接口。
F 1-8 一个数组可以存放许多不同类型的数值。
T 1-9 制造(new)数组时,要指定数组长度,以便为数组分配内存。
T 1-10 用户可以自定义自己的异常类。
T 1-11 当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
T 1-12 Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。
二 选择题
2-1 FilterOutputStream is the parent class for BufferedOutputStream, DataOutputStream and PrintStream. Which classes are valid argument for the constructor of a FilterOutputStream? ( )
A. InputStream
B. OutputStream
C. RandomAccessFile
D. StreamTokenizer
2-2 对于类与对象的关系,以下说法错误的是( )。
A. 类是对象的类型
B. 对象由类来创建
C. 类是同类对象的抽象
D. 对象是创建类的模板
2-3 以下关于Java的局部内部类的说法错误的是( )
A. 局部内部类只能在当前类中使用
B. 局部内部类不能包含静态成员
C. 局部内部类可以访问外部类的所有成员
D. 在局部内部类中定义的内部类不能被private修饰符修饰
注:在外部类方法体中定义的类叫局部内部类,局部内部类不能有访问修饰符,且只能访问方法体中的final类型的局部变量。本题正确答案给的是A,但是个人觉得应该是C。
2-4 下列String类的( )方法返回指定字符串的一部分。
A. extractstring()
B. substring()
C. Substring()
D. Middlestring()
2-5 以下程序段输出结果的是( )
public class Test {
public static void main(String args[]){
String str="ABCDE";
str.substring(3);
str.concat("XYZ");
System.out.print(str);
}
}
A. DE
B. DEXYZ
C. ABCDE
D. CDEXYZ
2-6 JPanel组件的默认布局管理器是( )。
A. BorderLayout
B. FlowLayout
C. GridLayout
D. CardLayout
2-7 Swing组件必须添加到Swing顶层容器相关的( )。
A. 分隔板上
B. 内容面板上
C. 选项卡上
D. 复选框内
2-8 以下关于构造函数的描述错误的是( )。
A. 构造函数的返回类型只能是void型。
B. 构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C. 构造函数的主要作用是完成对类的对象的初始化工作。
D.一般在创建新对象时,系统会自动调用构造函数。
2-9 下面哪个函数是public void aMethod(){…}的重载函数?( )
A. void aMethod( ){…}
B. public int aMethod(){…}
C. public void aMethod ( ){…}
D. public int aMethod ( int m){…}
2-10 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )
A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B. 可以被两种类访问和引用:该类本身、该类的所有子类
C. 只能被该类自身所访问和修改
D. 只能被同一个包中的类访问
2-11 下列方法头中哪一个不与其他方法形成重载(overload)关系?( )
A. void mmm()
B. void mmm(int i)
C. void mmm(String s)
D. int mm()
2-12 下面哪个选项中的代码没有定义内部类,或者错误的定义了内部类? ( C )
//A:
public Class Line {
int length;
Class Point {
//内部类代码
}
}
//B:
public Class Line {
public Point getPoint() {
return new Point(){
//内部类代码
};
}
}
//C:
public Class Line {
//外部类代码
}
Class Point {
//内部类代码
}
//D:
public Class Line {
public int calcLength() {
Class Point {
//内部类代码
}
}
}
2-13 以下哪句是错误的?
A. 编译器会搜索要import的类的编译结果文件而不是源文件
B. import是告诉编译器要import的包的信息
C. import是把要import的类的源代码插入到import语句所在的地方
D. 编译器在编译的时候需要能访问得到要import