多选题(共50题,每题1.5分,共75分。选不全或选错都不得分。)1. 以下属于面向对象的特征的是()。A) 重载B) 重写C) 封装D) 继承2. 以下代码运行输出是()public class Person{private String name=”Person”;int age=0;}public class Child extends Person{public String grade;public static void main(String[] args){Person p = new Child();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. 以下程序的运行结果是()class Person{public Person(){System.out.println(“this is a Person”);}}public class Teacher extends Person{private String name=”tom”;public Teacher(){System.out.println(“this is a teacher”);super();}public static void main(String[] args){Teacher teacher = new Teacher();System.out.println(this.name);}}A) this is a Personthis is a teachertomB) this is a teacherthis is a PersontomC) 运行出错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中不会出错class Book{protected int getPrice(){return 30;}}public class ComputerBook extends Book{}A) protected float getPrice(){}B) protected int getPrice(int page){}C) int getPrice(){}D) public int getPrice(){return 10;}14. 以下对抽象类的描述正确的是()A) 抽象类没有构造方法B) 抽象类必须提供抽象方法C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化15. 以下对接口描述错误的有()A) 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承16. 以下代码,描述正确的有()interface IDemo{public static final String name;1void print();2public void getInfo();3}abstract class Person implements IDemo{4public void print(){}}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. 以下程序运行结果是()public class Test extends Father{private String name=”test”;public static void main(String[] args){Test test = new Test();System.out.println(test.getName());}}class Father{private String name=”father”;public String getName() {return name;}}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. 下面代码运行结果是()public class Demo{public int add(int a,int b){try{return a+b;}catch(Exception e){System.out.println(“catch 语句块”);}finally{System.out.println(“finally 语句块”);}return 0;}public static void main(String[] args){Demo demo = new Demo();System.out.println(“和是:”+demo.add(9,34));}}A) 编译异常B) finally语句块 和是:43C) 和是:43 finally语句块D) catch语句块 和是:4324. 以下描述不正确的有()A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略25. 以下对自定义异常描述正确的是()A) 自定义异常必须继承ExceptionB) 自定义异常可以继承自ErrorC) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义26. 以下程序运行结果是()public class Test {public int div(int a, int b) {try {return a / b;}catch(Exception e){System.out.println(“Exception”);}catch(NullPointerException e){System.out.println(“ArithmeticException”);}catch (ArithmeticException e) {System.out.println(“ArithmeticException”);} finally {System.out.println(“finally”);}return 0;}public static void main(String[] args) {Test demo = new Test();System.out.println(“商是:” + demo.div(9, 0));}}A) Exception finally 商是:0B) ArithmeticException finally 商是:0C) finally商是:0D) 编译报错27. 以下对TCP和UDP描述正确的是()A) TCP不能提供数据的可靠性B) UDP能够保证数据库的可靠性C) TCP数据传输效率高于UDPD) UDP数据传输效率高于TCP28. 在Java中,下面对于构造函数的描述正确的是()。A) 类必须显示定义构造函数B) 构造函数的返回类型是voidC) 构造函数和类有相同的名称,并且不能带任何参数D) 一个类可以定义多个构造函数29. 根据下面的代码,String s = 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(new FileInputStream(“1.dat”));B) InuptStreamReader(new FileReader(“1.dat”));C) InuptStreamReader(new BufferReader(“1.dat”));D) InuptStreamReader (“1.dat”);33. 在Java中,()类提供定位本地文件系统,对文件或目录及其属性进行基本操作。A) FileInputStreamB) FileReaderC) FileWriterD) File34. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()A) ArrayList和LinkedList均实现了List接口B) ArrayList的访问速度比LinkedList快C) 添加和删除元素时,ArrayList的表现更佳D) HashMap实现Map接口,它允许任何类型的