叨叨两句
- 学着修改自己的内置程序,将不良输入得出的输出调整为自己喜欢的。
- 编程的本质就是数据的变换。
题40
Java接口的修饰符可以为(D)
A private B protected C final D abstract
接口内的方法默认修饰符为:public abstract
接口内的属性默认修饰符为: public static final
题41
ArrayList list = new ArrayList(20);中的list扩充几次(A)
A 0 B 1 C 2 D 3
默认初始容量为10,每次扩充至原来的1.5倍
该题已经设置初始容量为20
题42
getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(A)
public void getCustomerInfo() {
try {
// do something that may cause an Exception
} catch (java.io.FileNotFoundException ex) {
System.out.print("FileNotFoundException!");
} catch (java.io.IOException ex) {
System.out.print("IOException!");
} catch (java.lang.Exception ex) {
System.out.print("Exception!");
}
}
A IOException!
B IOException!Exception!
C FileNotFoundException!IOException!
D FileNotFoundException!IOException!Exception!
题43
下面代码的运行结果为:(C)
import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}
A 代码得到编译,并输出“s=”
B 代码得到编译,并输出“s=null”
C 由于String s没有初始化,代码不能编译通过
D 代码得到编译,但捕获到 NullPointException异常
局部变量使用前必须要初始化
题44
指出下列程序运行的结果 (B)
public class Example {
String str = new String("good");
char[] ch = { 'a', 'b', 'c' };
public static void main(String args[]) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str + " and ");
System.out.print(ex.ch);
}
public void change(String str, char ch[]) {
str = "test ok";
ch[0] = 'g';
}
}
A、 good and abc
B、 good and gbc
C、 test ok and abc
D、 test ok and gbc
1. Java中都是值传递,传参时,传的是值的副本,参数也相当于方法的局部变量
2. 这道题所描述的传入引用数据类型和传入基本数据类型的区别在于,有没有改变其内部的元素
题45
下面的方法,当输入为2的时候返回值是多少?(C)
复制代码
public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
复制代码
A0 B2 C4 D10
本题考查穿透现象
题46
选项中哪一行代码可以替换题目中//add code here而不产生编译错误?(A)
复制代码
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
复制代码
Apublic abstract void method(int a);
B constInt = constInt + 5;
C public int method();
D public abstract void anotherMethod() {}
1. 抽象方法不能有方法体
2. 接口中会自动补齐默认的修饰符
题47
下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new Child("mike")的时候都有哪些构造方法被顺序调用?请选择输出结果 ( D)
复制代码
class People {
String name;
public People() {
System.out.print(1);
}
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + ":F");
}
public Child() {
System.out.print(4);
}
}
复制代码
A312 B 32 C 432 D 132
super()调用的是空参的父类构造方法,想要调用有参构造方法,需要往括号里传参数
题48
23.对于以下关于可变长参数的定义,正确的是:(ACD )
A: public void show( String[] aa, String... a ){}
B: public void show( String... a , String[] aa){}
C: public void show( String... a ){}
D: public void show( String a, double b , String... c){}
可变参数要放参数列表的最后一个
题49
编译运行如下Java代码,输出结果是( D )
class Base {
public void method(){
System.out.print ("Base method");
}
}
class Child extends Base{
public void methodB(){
System.out.print ("Child methodB");
}
}
class Sample {
public static void main(String[] args) {
Base base = new Child();
base.methodB();
}
}
A. Base method
B. Child methodB
C. Base method Child MethodB
D. 编译错误
1. 对于非静态方法,编译看左边,运行看右边,父类中没有methodB方法,所以编译期就无法通过。
2. 若子父类都有同样的方法,则运行时会运行子类重写过的方法
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。