刷题07

1.有时为了避免某些未识别的异常抛给更高的上层应用,在某些接口实现中我们通常需要捕获编译运行期所有的异常, catch 下述哪个类的实例才能达到目的:()
正确答案:B
A. Error
B. Exception
C. RuntimeException
D. Throwable
解析:error是系统出错,JVM问题,catch是无法处理的,难以修复的;
首先Throwable分为Error和Exception.
Exception分为CheckedException和RuntimeException;
RuntimeException不需要程序员进行捕获处理.我们只需要对exception的实例进行捕获即可.

2.根据以下接口和类的定义,要使代码没有语法错误,则类Hero中应该定义方法( )。
interface Action{ void fly(); }class Hero implements Action{ //……
正确答案:D
A. private void fly(){}
B. void fly(){}
C. protected void fly(){}
D. public void fly(){}
解析:接口方法默认是public abstract的,且实现该接口的类中对应的方法的可见性不能小于接口方法的可见性,因此也只能是public的。

3.下面有关maven和ant的描述,描述错误的是?
正确答案:C
A. Ant没有正式的约定如一个一般项目的目录结构,你必须明确的告诉Ant哪里去找源代码B. Maven拥有约定,因为你遵循了约定,它已经知道你的源代码
C. maven和ant都有“生命周期”的概念,当你输一个命令后,maven或者ant会执行一系列的有序的步骤,直到到达你指定的生命周期
D. Ant构建文件默认命名为build.xml,Maven默认构建文件为pom.xml
解析:
Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。
Ant特点 ›没有一个约定的目录结构 ›必须明确让ant做什么,什么时候做,然后编译,打包 ›没有生命周期,必须定义目标及其实现的任务序列›没有集成依赖管理 Maven特点 ›拥有约定,知道你的代码在哪里,放到哪里去 ›拥有一个生命周期,例如执行 mvninstall 就可以自动执行编译,测试,打包等构建过程›只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情 ›拥有依赖管理,仓库管理。

4.Consider the following code:
String s=null;
Which code fragments cause an object of type NullPointerException to be thrown?
正确答案: 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))
解析:||和&&会短路,而 | & 在逻辑运算时不会短路,运算符左右两边都会执行。
| : 检测ture;不具备短路功能,会检查每一个条件,表达式中只要一个ture 就整体返回true;
|| : 检测true;具备短路功能,一遇到true,就返回true;不再执行||后面的语句;
按位与&: 检测false:同理

5.对 Map 的用法,正确的有:

正确答案: C D
A. new java.util.Map().put(“key” , “value”) ;
B. new java.util.SortedMap().put(“key” , “value”) ;
C. new java.util.HashMap().put( null , null ) ;
D. new java.util.TreeMap().put( 0 , null ) ;
解析:Map和SortedMap为接口,接口不能实例化对象,
HashMap集合的键和值可以为null,但是键只能设置一个null,而值可以有很多个null;
TreeMap会默认按照key对存放的对象进行排序,因此TreeMap允许value值为null,不允许key值为null.

6…一个文件中的数据要在控制台上显示,首先需要( )。

正确答案: C
A. System.out.print (buffer[i]);
B. FileOutputStream fout = new FileOutputStream(this.filename);
C. FileInputStream fin = new FileInputStream(this.filename);。
D. System.in.read(buffer)。
解析:一个文件中的数据要在控制台显示,首先需要获取文件中的内容,使用FileInputStream fin = new FileInputStream(this.filename);

7.下面哪一项不是加载驱动程序的方法?
正确答案: A
A. 通过DriverManager.getConnection方法加载
B. 调用方法 Class.forName
C. 通过添加系统的jdbc.drivers属性
D. 通过registerDriver方法注册
解析:
加载驱动方法
1).Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
2). DriverManager.registerDriver(new com.mysql.jdbc.Driver());
3).System.setProperty(“jdbc.drivers”, “com.mysql.jdbc.Driver”);
DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的。

8.下面哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持:( )
正确答案: A E
A. java.util.ConcurrentHashMap
B. java.util.Map
C. java.util.TreeMap
D. java.util.SortMap
E. java.util.Hashtable
F. java.util.HashMap
解析:j
ava.util.concurrent.ConcurrentHashMap 线程安全
java.util.Map 接口
java.util.TreeMap非线程安全
java.util.SortedMap 接口
java.util.Hashtable 线程安全
java.util.HashMap非线程安全

9.根据下面这个程序的内容,判断哪些描述是正确的:( )
在这里插入图片描述
正确答案: C D
A. 这段程序有编译错误
B. 语句1输出为:Hello, tommy
C. 语句2输出为:Hello, tommy
D. 语句1输出为:Welcome, tommy
E. 语句2输出为:Welcome, tommy
F. 根据选用的Java编译器不同,这段程序的输出可能不同
解析:方法的调用首先以参数类型最符合作为原则。
Java语言是静态多分派,动态单分派的。
如果是重载方法之间的选择,则是使用静态类型。
如果是父类与子类之间的重写方法的选择,则是使用动态类型。
如A a = new B(); 会使用类型B去查找重写的方法,使用类型A去查找重载的方法。

10.下列描述正确的是( )?

正确答案: A C
A. 类不可以多继承而接口可以多实现
B. 抽象类自身可以定义成员而接口不可以
C. 抽象类和接口都不能被实例化
D. 一个类可以有多个基类和多个基接口
解析:1.java支持单继承,却可以实现多个接口。
2.接口没有构造方法,所以不能实例化,抽象类有构造方法,但是不是用来实例化的,是用来初始化的。
3.抽象类可以定义普通成员变量而接口不可以,但是抽象类和接口都可以定义静态成员变量,只是接口的静态成员变量要用static final public 来修饰。

11.判断一块内存空间是否符合垃圾收集器收集的标准有哪些?
正确答案: A B D
A. 给对象赋予了空值null,以下再没有调用过
B. 对象重新分配了内存空间
C. 给对象赋予了空值null
D. 给对象赋予了新值
解析:在java语言中,判断一块内存空间是否符合垃圾收集器收集标准的标准只有两个:
1.给对象引用置为null,以下没有调用过。obj=null;
2.给对象赋了新的值,重新分配了内存空间,即对象的引用重新指向了另一个对象,回收上一个new的对象所占的内存。obj = new Object1(); obj = new Object2();回收obj第一次指向的Object1()所占的内存。

知识点:

  1. instanceof可以用来判断某个实例变量是否属于某种类的类型,但它的功能不局限于此,比如还可以判断某个类是否属于某个类的子类的类型
  2. is-a 表示继承:Gadget is-a Widget就表示Gadget 继承 Widget;
    has-a表示从属:Gadget has-a Sprocket就表示Gadget中有Sprocket的引用,Sprocket是Gadget的组成部分;
    like-a表示组合:如果A like-a B,那么B就是A的接口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值