private String name;
Demo(String name){this.name = name;} private static void show(){ System.out.println(name) }
public static void main(String[] args){ Demo d = new Demo(“lisa”); d.show(); } }
A: 输出lisa B: 输出null C: 输出name
D: 编译失败,无法从静态上下文中引用非静态变量name 3. 下面关于构造方法的调用,正确的是( )
A: 构造方法在类定义的时候被调用 B: 构造方法在创建对象的时候被调用 C: 构造方法在调用对象方法时被调用 D: 构造方法在使用对象的变量时被调用
4. 下列关于成员变量默认值的描述中,错误的是( )
A: byte类型的数据默认值是0 B: int类型的数据默认值是0 C: long类型的数据默认值是0 D: float类型的数据默认值是0.0f
5. “隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个
特征( ) A: 封装 B: 继承 C: 多态
D: 以上都不是
答案
一、填空题
1. String 2. this 3. private 4. static
5. System.gc() 二、判断题
1. 对 2. 错 3. 错 4. 错
5. 对 三、选择题
1. A 2. D 3. B 4. C 5. A
第4章 面向对象(下)
习题
一、填空题
1. RuntimeException类及其子类都是【 】异常。 2. throw关键字用于在方法中声明抛出异常的【 】。 3. 自定义异常需要继承【 】类。 4. 定义一个抽象类的关键字是【 】。 5. final修饰的方法,不能被子类【 】。 二、判断题
1. RuntimeException类及其子类用于表示运行时异常。( ) 2. Java中的异常类都继承自java.lang.Throwable类。( )
3. throws关键字用于对外声明方法可能发生的异常,这样调用者在调用方法时,可以
明确知道该方法有异常,并进行相关处理。( ) 4. protected修饰的类,类中的所有方法只能给子类使用。( ) 5. Object是所有类的父类。( ) 三、选择题
1. 下列符号中,哪个用于分隔throws关键字抛出的多个异常( )
A: ; B: , C: & D: |
2. 下面程序运行的结果是( )
class Demo{
public static void main(String[] args){ try{
int x = div(1,2);
}catch(Exception e){
System.out.println(e);
}
System.out.println(x)
}
public static int div(int a,int b){
return a / b ;
} }
A: 输出1 B: 输出0 C: 输出0.5 D: 编译失败
3. 以下关于编译异常说法正确的是( )
A: 编译异常就是指Exception以及其子类 B: 编译异常如果产生,可以不用处理
C: 编译异常如果产生,必须处理,要么捕获,要么抛出 D: 编译异常指的就是Error
4. 下列关于protected的说法中,正确的是( )
A: protected修饰的方法,只能给子类使用
B: protected修饰的类,类中的所有方法只能给子类使用
C: 如果一个类的成员被protected修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问。 D: 以上都不对
5. 下列关于对象的类型转换的描述,说法错误的是( )
A: 对象的类型转换可通过自动转换或强制转换进行
B: 无继承关系的两个类的对象之间试图转换会出现编译错误 C: 由new语句创建的父类对象可以强制转换为子类的对象
D: 子类的对象转换为父类类型后,父类对象不能调用子类的特有方法
答案
一、填空题
1. 运行时 2. 实例对象 3. Exception 4. abstract 5. 重写 二、判断题
1. 对 2. 对 3. 对 4. 错 5. 对 三、选择题
1. B 2. C 3. C 4. C 5. C
第5章 Java API
习题
一、填空题
1. 在程序,获取字符串长度的方法是【 】。 2. StringBuffer类的默认容量是【 】个字符。
3. Math类中,用于获取一个数的绝对值的方法是【 】。 4. String类中,将字符串转换为字符数组的方法是【 】。 5. Random类的【 】方法可以随机生成Int类型的随机数。 二、判断题
1. switch语句不支持字符串类型。( )
2. String类的append()方法可以将数组元素和空格连接成字符串。( ) 3. ceil()和floor()方法返回的都是double类型的数。( ) 4. Random类的nextInt( )方法会生成一个int类型的随机数。( ) 5. JAVA中拆箱是指将基本数据类型的对象转为引用数据类型。( ) 三、选择题
1. 阅读下面的代码,输出结果是( )
public static void main(String[] args) { Random random1 = new Random(10); Random random2 = new Random(10); for(int i=0;i<5;i++){
System.out.print(random1.nextInt(5)); }
System.out.println(); for(int i=0;i<5;i++){
System.out.print(random2.nextInt(5)); } }
A: 3030130301 B: 5048132680 C: 3268023579 D: 1111111111
2. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )
A: charcharAt(intindex) B: intindexOf(intch) C: intlastIndexOf(intch)
D: booleanendsWith(Stringsuffix)
3. 假如indexOf()方法未能找到所指定的子字符串,那么其返回值为( )
A: false B: 0 C: -1