选择题(共50题,每题2分,共100分。多选题选不全或选错都不得分。)1.以下属于面向对象的特征的是(C.D)。(两项)A)重载B)重写C)封装D)继承2.以下代码运行输出是()publicclassPerson{privateStringname=”Person”;intage=0;}publicclassChildextendsPerson{publicStringgrade;publicstaticvoidmain(String[]args){Personp=newChild();System.out.println(p.name);}}A)输出:PersonB)没有输出C)编译出错D)运行出错3.在使用super和this关键字时,以下描述正确的是()A)在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B)super()和this()不一定要放在构造方法内第一行C)this()和super()可以同时出现在一个构造函数中D)this()和super()可以在static环境中使用,包括static方法和static语句块4.以下对封装的描述正确的是()A)只能对一个类中的方法进行封装,不能对属性进行封装B)如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C)封装的意义不大,因此在编码时尽量不要使用D)封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5.以下对继承的描述错误的是()A)Java中的继承允许一个子类继承多个父类B)父类更具有通用性,子类更具体C)Java中的继承存在着传递性D)当实例化子类时会递归调用父类中的构造方法6.以下程序的运行结果是()classPerson{publicPerson(){System.out.println(“thisisaPerson”);}}publicclassTeacherextendsPerson{privateStringname=”tom”;publicTeacher(){System.out.println(“thisisateacher”);super();}publicstaticvoidmain(String[]args){Teacherteacher=newTeacher();System.out.println(this.name);}}A)thisisaPersonthisisateachertomB)thisisateacherthisisaPersontomC)运行出错D)编译有两处错误7.以下说法错误的是()A)super.方法()可以调用父类的所有非私有方法B)super()可以调用父类的所有非私有构造函数C)super.属性可以调用父类的所有非私有属性D)this和super关键字可以出现在同一个构造函数中8.以下关于final关键字说法错误的是()(两项)A)final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性B)final修饰的类肯定不能被继承C)final修饰的方法不能被重载D)final修饰的变量不允许被再次赋值9.访问修饰符作用范围由大到小是()A)private-default-protected-publicB)public-default-protected-privateC)private-protected-default-publicD)public-protected-default-private10.以下()不是Object类的方法A)clone()B)finalize()C)toString()D)hasNext()11.多态的表现形式有()A)重写B)抽象C)继承D)封装12.以下对重载描述错误的是()A)方法重载只能发生在一个类的内部B)构造方法不能重载C)重载要求方法名相同,参数列表不同D)方法的返回值类型不是区分方法重载的条件13.以下()添加到ComputerBook中不会出错classBook{protectedintgetPrice(){return30;}}publicclassComputerBookextendsBook{}A)protectedfloatgetPrice(){}B)protectedintgetPrice(intpage){}C)intgetPrice(){}D)publicintgetPrice(){return10;}14.以下对抽象类的描述正确的是()A)抽象类没有构造方法B)抽象类必须提供抽象方法C)有抽象方法的类一定是抽象类D)抽象类可以通过new关键字直接实例化15.以下对接口描述错误的有()A)接口没有提供构造方法B)接口中的方法默认使用public、abstract修饰C)接口中的属性默认使用public、static、final修饰D)接口不允许多继承16.以下代码,描述正确的有()interfaceIDemo{publicstaticfinalStringname;1voidprint();2publicvoidgetInfo();3}abstractclassPersonimplementsIDemo{4publicvoidprint(){}}A)第1行错误,没有给变量赋值B)第2行错误,方法没有修饰符C)第4行错误,没有实现接口的全部方法D)第3行错误,没有方法的实现17.接口和抽象类描述正确的有()(两项)A)抽象类没有构造函数B)接口没有构造函数C)抽象类不允许多继承D)接口中的方法可以有方法体18.以下描述错误的有()A)abstract可以修饰类、接口、方法B)abstract修饰的类主要用于被继承C)abstract可以修饰变量D)abstract修饰的类,其子类也可以是abstract修饰的19.以下描述正确的有()A)方法的重写应用在一个类的内部B)方法的重载与返回值类型无关C)构造方法不能重载D)构造方法可以重写20.以下程序运行结果是()publicclassTestextendsFather{privateStringname=”test”;publicstaticvoidmain(String[]args){Testtest=newTest();System.out.println(test.getName());}}classFather{privateStringname=”father”;publicStringgetName(){returnname;}}A)fatherB)testC)编译出错D)运行出错,无输出21.以下对异常的描述不正确的有()A)异常分为Error和ExceptionB)Throwable是所有异常类的父类C)Exception是所有异常类父类D)Exception包括RuntimeException和RuntimeException之外的异常22.在try-catch-finally语句块中,以下可以单独与finally一起使用的是()A)catchB)tryC)throwsD)throw23.下面代码运行结果是()publicclassDemo{publicintadd(inta,intb){try{returna+b;}catch(Exceptione){System.out.println(“catch语句块”);}finally{System.out.println(“finally语句块”);}return0;}publicstaticvoidmain(String[]args){Demodemo=newDemo();System.out.println(“和是:”+demo.add(9,34));}}A)编译异常B)finally语句块和是:43C)和是:43finally语句块D)catch语句块和是:4324.以下描述不正确的有()A)try块不可以省略B)可以使用多重catch块C)finally块可以省略D)catch块和finally块可以同时省略25.以下对自定义异常描述正确的是()A)自定义异常必须继承ExceptionB)自定义异常可以继承自ErrorC)自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D)程序中已经提供了丰富的异常类,使用自定义异常没有意义26.以下程序运行结果是()publicclassTest{publicintdiv(inta,intb){try{returna/b;}catch(Exceptione){System.out.println(“Exception”);}catch(NullPointerExceptione){System.out.println(“ArithmeticException”);}catch(ArithmeticExceptione){System.out.println(“ArithmeticException”);}finally{System.out.println(“finally”);}return0;}publicstaticvoidmain(String[]args){Testdemo=newTest();System.out.println(“商是:”+demo.div(9,0));}}A)Exceptionfinally商是:0B)ArithmeticExceptionfinally商是:0C)finally商是:0D)编译报错27.以下对TCP和UDP描述正确的是()A)TCP不能提供数据的可靠性B)UDP能够保证数据库的可靠性C)TCP数据传输效率高于UDPD)UDP数据传输效率高于TCP28.在Java中,下面对于构造函数的描述正确的是()。(选择一项)A)类必须显示定义构造函数B)构造函数的返回类型是voidC)构造函数和类有相同的名称,并且不能带任何参数D)一个类可以定义多个构造函数29.根据下面的代码,Strings=null;会抛出NullPointerException异常的有()。[两项]A)if((s!=null)&(s.length()0))B)if((s!=null)&&(s.length()0))C)if((s==null)|(s.length()==0))D)if((s==null)||(s.length()==0))30..在Java中,关于HashMap类的描述,以下廉洁错误的是()。A)HashMap使用键/值得形式保存数据B)HashMap能够保证其中元素的顺序C)HashMap允许将null用作键D)HashMap允许将null用作值31.下列选项中关于java中super关键字的说法错误的是()A)super关键字是在子类对象内部指代其父类对象的引用B)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C)子类可以通过super关键字调用父类的方法D)子类可以通过super关键字调用父类的属性32.在Java中,以下代码()正确地创建了一个InputStreamReader对象。A)InuptStreamReader(newFileInputStream(“1.dat”));B)InuptStreamReader(newFileReader(“1.dat”));C)InuptStreamReader(newBufferReader(“1.dat”));D)InuptStreamReader(“1.dat”);33.在Java中,()类提供定位本地文件系统,对文件或目录及其属性进行基本操作。A)FileInputStreamB)FileReaderC)FileWriterD)File34.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()(选择一项)A)ArrayList和LinkedList均实现了List接口B)ArrayList的访问速度比L