1) 当试图编译并运行下面程序时会出现什么结果(C)(单选)C class A{
public int getNumber(int a){ return a+1; } }
class B extends A{
public int getNumber(int a, char c){
return a+2; }
public static void main(String[] args){
B b=new B();
System.out.println(b.getNumber(0)); } }
a) 编译错误 b) 运行错误 c) 1 d) 2
2) 当编译并运行下面程序时会出现什么结果( b)(单选)B public class MyAr{
public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } }
a) 编译错误 b) 运行错误 c) 输出0 d) 输出“null”
3) final、finally、finalize三个关键字的区别是(bc)(多选) ABC a) final是修饰符(关键字)可以修饰类、方法、变量
b) finally在异常处理的时候使用,提供finally块来执行任何清除操作
c) finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作 d) finally和finalize一样都是用异常处理的方法
4) 当编译并运行下面程序时会发生什么结果(a)(单选)D public class Bground extends Thread{ public static void main(String argv[]){ Bground b = new Bground(); b.run(); }
public void start(){
for (int i = 0; i <10; i++){
System.out.println(\ } } }
a) 编译错误,指明run方法没有定义 b)运行错误,指明run方法没有定义 c)编译通过并输出0到9 d) 编译通过但无输出
5) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。(c)(单选) C a)final b)static c)abstract d)void
6) 当编译并运行下面程序时会发生什么结果:(d)(单选)D public class Hope{
public static void main(String argv[]){ Hope h = new Hope(); }
protected Hope(){
for(int i =0; i <10; i ++){
System.out.println(i);
}
} }
a) 编译错误,构造方法不能被声明为protected b) 运行错误,构造方法不能被声明为protected c) 编译并运行输出0到10 d) 编译并运行输出0到9
7) 下列说法正确的是?(bc)(多选)BC
a) 数组有length()方法 b) String有length()方法 c) 数组有length属性 d) String有length属性
8) 当编译并运行下面程序时会发生什么结果?(c )(单选)C
public class Test{
public static void stringReplace(String text){
text=text+”c”; }
public static void bufferReplace(StringBuffer text){
text=text.append(\ }
public static void main(String args[]){ String textString=new String(\
StringBuffer textBuffer=new StringBuffer(\ stringReplace(textString); bufferReplace(textBuffer);
System.out.println(textString+textBuffer); } }
a) 编译并运行输出javac javac b) 编译并运行输出java java c) 编译并运行输出java javac d) 编译并运行输出javac java
9) 以下哪些表达式返回为真(def)(多选)ADEF String a=”My field1”; String b=”My field1”;
String c=new String(”My field1”); String d=new String(”My field1”); a)a ==b b)a==c c)c==d
d)a.equals(b) e)a.equals(c) f)c.equals(d)
10) 当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情(a)(单选)B public class MyAr{
public static void main(String argv[]) {
MyAr m = new MyAr(); m.amethod(); }
public void amethod(){
int i;
System.out.println(i); } }
a) 编译并输出0 b) 编译错误
c) 编译并输出null d) 运行错误
11) 给定如下java代码程序片断: class A{ public A(){
System.out.println(“A”); } }
class B extends A{ public B(){
System.out.println(“B”); }
public static void main(String[] args){
B b=new B(); } }
上述程序将(b)(单选)B a) 不能通过编译
b) 通过编译,输出为AB c) 通过编译,输出为B d) 通过编译,输出为A
12) 关于线程,以下说法正确的是:(bd)(多选) BD a) sleep方法执行时会释放对象锁。 b) wait方法执行时会释放对象锁。
c) sleep方法必须写在同步方法或同步块中 d) wait方法必须写在同步方法或同步块中
13) 给定JAVA代码如下,编译运行后,输出结果是(c)(单选)C public class test{ static int i;
public int test(){ i++; return i; }
public static void main(String args[]){
Test test=new Test(); test.test();
System.out.println(test.test()); } }
a) 0 b) 1 c) 2 d) 3
14) 给定JAVA代码如下,关于super的用法,以下描述正确的是(c )(单选)C class C extends B { public C() {
super(); } }
a) 用来调用类B中定义的super()方法 b) 用来调用类C中定义的super()方法 c) 用来调用类B中的无参构造方法
d) 用来调用类B中第一个出现的构造方法
15) 哪些是Thread类中本身的方法(不包括继承) ( acd)(多选) AB a) start()
b) sleep(long mi) c) wait() d) notify()
16) 下面哪些为真(ad)(多选)ACD
a) 接口里可定义变量,并且变量的值不能修改 b) 任何情况下,类都不能被private修饰 c) 类可以被protected修饰 d) 接口不能实例化