
JAVA笔试题(答案在最后).doc
14页重庆足下测试题(笔试)Java 面向对象重庆足下科技有限公司不定项选择题(40题,每题2.5分,总分100分,测试时间2小时)1)当试图编译并运行下面程序时会出现什么结果()(单选) 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)1d)2C2)当编译并运行下面程序时会出现什么结果( )(单选)public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); }}a)编译错误b)运行错误c)输出0d)输出“null”B3)final、finally、finalize三个关键字的区别是()(多选)a)final是修饰符(关键字)可以修饰类、方法、变量b)finally在异常处理的时候使用,提供finally块来执行任何清除操作c)finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作d)finally和finalize一样都是用异常处理的方法ABC4)当编译并运行下面程序时会发生什么结果()(单选)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("Value of i = " + i); }}}a)编译错误,指明run方法没有定义b)运行错误,指明run方法没有定义c)编译通过并输出0到9d)编译通过但无输出C D5)在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。
单选)a)Finalb)Staticc)Abstractd)VoidC C6)当编译并运行下面程序时会发生什么结果:(单选)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)编译错误,构造方法不能被声明为protectedb)运行错误,构造方法不能被声明为protectedc)编译并运行输出0到10d)编译并运行输出0到9D D7)下列说法正确的是?()(多选)a)数组有length()方法b)String有length()方法c)数组有length属性d)String有length属性B,C BC 8)当编译并运行下面程序时会发生什么结果?( )(单选)public class Test{ public static void stringReplace(String text){ text=text+”c”; } public static void bufferReplace(StringBuffer text){ text=text.append("c"); } public static void main(String args[]){ String textString=new String("java"); StringBuffer textBuffer=new StringBuffer("java"); stringReplace(textString); bufferReplace(textBuffer); System.out.println(textString+textBuffer); } }a)编译并运行输出javac javacb)编译并运行输出java javac)编译并运行输出java javacd)编译并运行输出 javac javaA C9)以下哪些表达式返回为真()(多选)String a=”My field1”;String b=”My field1”;String c=new String(”My field1”);String d=new String(”My field1”);a)a ==bb)a==cc)c==dd)a.equals(b)e)a.equals(c)f)c.equals(d) A,F ADEF10)当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情( )(单选)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)编译并输出0b)编译错误c)编译并输出nulld)运行错误C B 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(); } }上述程序将()(单选)a)不能通过编译b)通过编译,输出为ABc)通过编译,输出为Bd)通过编译,输出为AB B12)关于线程,以下说法正确的是:()(多选)a)sleep方法执行时会释放对象锁。
b)wait方法执行时会释放对象锁c)sleep方法必须写在同步方法或同步块中d)wait方法必须写在同步方法或同步块中A,B,D BD13)给定JAVA代码如下,编译运行后,输出结果是()(单选)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)0b)1c)2d)3C C14)给定JAVA代码如下,关于super的用法,以下描述正确的是( )(单选)class C extends B{ public C() { super(); }}a)用来调用类B中定义的super()方法b)用来调用类C中定义的super()方法c)用来调用类B中的无参构造方法d)用来调用类B中第一个出现的构造方法C C15)哪些是Thread类中本身的方法(不包括继承) ( )(多选)a)start()b)sleep(long mi)c)wait()d)notify()A,b,c AB16)下面哪些为真()(多选) a)接口里可定义变量,并且变量的值不能修改b)任何情况下,类都不能被private修饰c)类可以被protected修饰d)接口不能实例化A,d ACD17)下面哪些是正确的描述了关键字synhronized ( )(单选)a)允许两个进程并行运行但其之间相互通信b)保证任何时候只有一个线程访问一个方法或对象c)保证两个或多个进程同时启动和结束d)保证两个或多个线程同时启动和结束A, B18)下列哪一种叙述是正确的()(单选)a)abstract修饰符可修饰属性、方法和类b)抽象方法的body部分必须用一对大括号{ }c)声明抽象方法,大括号可有可无d)声明抽象方法不可写出大括号D D19)下面关于网络通信正确的描述是()(多选)a)TCP/IP协议是一种不可靠的网络通信协议。
b)UDP协议是一种可靠的网络通信协议。
