
java基础面试题2及答案.docx
4页一. 选择题(共50题,每题2分,共100分多选题选不全或选错都不得分)1. 以下属于面向对象的特征的是(C,D)两项)A) 重载B) 重写C) 封装D) 继承2. 以下代码运行输出是(C)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)A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块4. 以下对封装的描述正确的是(D)A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5. 以下对继承的描述错误的是(A)A) Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C) Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法6. 以下关于final关键字说法错误的是(C)(两项)A) final是java中的修饰符,可以修饰类和属性B) final修饰的类肯定不能被继承C) final修饰的方法不能被重载D) final修饰的变量不允许被再次赋值7. 访问修饰符作用范围由大到小是(D)A) private-default-protected-publicB) public-default-protected-privateC) private-protected-default-publicD) public-protected-default-private8. 以下对重载描述错误的是(B)A) 方法重载只能发生在一个类的内部B) 构造方法不能重载C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件9. 接口和抽象类描述正确的有(B,C)(两项)A) 抽象类没有构造函数B) 接口没有构造函数C) 抽象类不允许多继承D) 接口中的方法可以有方法体10. 以下描述正确的有(B)A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写11. 以下程序运行结果是(A)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) test12. 以下对异常的描述不正确的有(C)A) 异常分为Error和ExceptionB) Throwable是所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException之外的异常13. 在Java中,下面对于构造函数的描述正确的是(D)。
选择一项)A) 类必须显示定义构造函数B) 构造函数的返回类型是voidC) 构造函数和类有相同的名称,并且不能带任何参数D) 一个类可以定义多个构造函数14. 根据下面的代码,String s = null;会抛出NullPointerException异常的有(A,C)[两项]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) )15. 在Java中,关于HashMap类的描述,以下廉洁错误的是( B )A) HashMap使用键/值得形式保存数据B) HashMap 能够保证其中元素的顺序C) HashMap允许将null用作键D) HashMap允许将null用作值16. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是(C)(选择一项)A) ArrayList和LinkedList均实现了List接口B) ArrayList的访问速度比LinkedList快C) 添加和删除元素时,ArrayList的表现更佳D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值17. 在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在(B)包中。
A) java.langB) java.sqlC) java.utilD) java.math18. Java中,以下( B )接口以键_值对的方式存储对象A) java.util.CollectionB) java.util.MapC) java.util.ListD) java.util.Set19. 在Java中,( A )类可用于创建链表数据结构的对象A) LinkedListB) ArrayListC) CollectionD) HashMap20. 分析下面这段Java代码,它的运行结果是( C )Import java.io.*;Public class B{Public static void main(string [] args){int i=12;System.out.println(i+=i-=i*=i);}}A) 100B) 0C) -120D) 程序无法编译21. 以下负责建立与数据库连接的是(D)A) StatementB) PreparedStatementC) ResultSetD) DriverManager22. 使用JDBC连接数据库的顺序是(B,A,D,C,E)(多选)A) 加载驱动B) 导入驱动包C) 发送并处理SQL语句D) 建立于数据库的连接E) 关闭连接。
