abstract 和 final 可以同时作为一个类的修饰符。( )
A、正确 B、错误
解析
当类被 abstract
修饰时,该类一定可以被继承,而当类被 final
修饰时,说明该类是不能被继承的。如果两者同时修饰一个类,那么此时矛盾。
参考答案
B
有以下程序片段且 Interesting 不是内部类,下列哪个选项不能插入到行 1。( )
代码语言:javascript复制public class Interesting{
// 省略代码
}
A、import java.awt.*;
B、package mypackage;
C、class OtherClass{ }
D、public class MyClass{ }
解析
同一个 .java
文件中,可以包含多个类,但是只能含有一个 public
类,而且该类名必须与 .java
文件保持一致。
参考答案
D
如果一个接口 Cup 有个方法 use(),有个类 SmallCup 实现接口 Cup,则在类 SmallCup 中正确的是? ( )
A、void use() { …}
B、protected void use() { …}
C、public void use() { …}
D、以上语句都可以用在类 SmallCup 中
解析
要实现一个接口,那么就要实现该接口的所有方法,即重写。方法重写的原则:
- 方法名相同
- 返回值类型相同
- 形参相同
- 访问权限必须大于重写前
- 抛出的异常要小于重写前
以上原则总结为:三同一大一小
参考答案
C
语句: char foo = ‘中’,是否正确?(假设源文件以GB2312 编码存储,并且以 javac – encoding GB2312 命令编译)
A、正确 B、错误
解析
Java 中,中文字符所占字节大小取决于字符编码方式,一般情况下,采用 ISO8859-1编码一个中文字符与一个英文字符一样只占 1 个字节;采用 GB2312 或 GBK 编码方式时,一个中文字符占 2 个字节;而采用 UTF-8 编码方式时,一个中文字符会占 3 个字节。
参考答案
A
以下 Java 程序代码,执行后的结果是()
代码语言:javascript复制java.util.HashMap map=new java.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.size());
A、0
B、null
C、1
D、2
解析
Java 中,HashMap 的 key 和 value 都可以是 null,插入时,会检查是否已经存在相同的 key,若存在,则将新的 value 覆盖掉旧的 value,如果不存在,则直接插入。第一个 put
会将 name
这个 key 插入,其值为 null
,而第二个 put
继续插入 name
这个 key,则将用新的 value 替换掉原来的 value,此时 map 的 size 仍为 1。
参考答案
C
J2EE 中,当把来自客户机的 HTTP 请求委托给 servlet 时,会调用 HttpServlet 的( )方法
A、service
B、doget
C、dopost
D、init
解析
一个 HttpServlet 容器响应 Web 客户端请求流程总结如下:
- Web 客户端向 Servlet 容器发出 Http 请求;
- Servlet 容器解析 Web 客户端的 Http 请求;
- Servlet 容器创建一个 HttpRequest 对象,在这个对象中封装 Http 请求信息;
- Servlet 容器创建一个 HttpResponse 对象;
- Servlet 容器调用 HttpServlet 的 service 方法,这个方法中会根据 request 的 Method 来判断具体是执行 doGet 还是 doPost,把 HttpRequest 和 HttpResponse 对象作为 service 方法的参数传给 HttpServlet 对象;
- HttpServlet 调用 HttpRequest 的有关方法,获取 HTTP 请求信息;
- HttpServlet 调用 HttpResponse 的有关方法,生成响应数据;
- Servlet 容器把 HttpServlet 的响应结果传给 Web 客户端。
参考答案
A
默认 RMI 采用的是什么通信协议?
A、HTTP B、UDP/IP C、TCP/IP D、Multicast
解析
RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。使用这种机制,某一台计算机上的对象可以调用另外一台计算机上的对象来获取远程数据。RMI 是 Enterprise JavaBeans 的支柱,是建立分布式 Java 应用程序的方便途径。在过去,TCP/IP 套接字通讯是远程通讯的主要手段,但此开发方式没有使用面向对象的方式实现开发,在开发一个如此的通讯机制时往往令程序员感觉到乏味,对此 RPC(Remote Procedure Call)应运而生,它使程序员更容易地调用远程程序,但在面对复杂的信息传讯时,RPC 依然未能很好的支持,而且 RPC 未能做到面向对象调用的开发模式。针对 RPC 服务遗留的问题,RMI 出现在世人面前,它被设计成一种面向对象的通讯方式,允许程序员使用远程对象来实现通信,并且支持多线程的服务。
参考答案
C
关于 Socket 通信编程,以下描述正确的是:( )
A、客户端通过 new ServerSocket() 创建 TCP 连接对象 B、客户端通过 TCP 连接对象调用 accept() 方法创建通信的 Socket 对象 C、客户端通过 new Socket() 方法创建通信的 Socket 对象 D、服务器端通过 new ServerSocket() 创建通信的 Socket 对象
解析
在 Socket 通信编程中,客户端是通过 new Socket()
方式来创建通信的 Socket 对象,而服务器端则是通过 new ServerSocket()
创建 TCP 连接对象。
参考答案
C
关于 Java 集合下列说法不正确的有哪些()
A、HashSet 它是线程安全的,不允许存储相同的对象 B、ConcurrentHashMap 它是线程安全的,其中存储的键对象可以重复,值对象不能重复 C、Collection 接口是 List 接口和 Set 接口的父接口,通常情况下不被直接使用 D、ArrayList 线程安全的,允许存放重复对象
解析
对于 A,HashSet 是非线程安全的,是 Set 接口下的实现类,其特点是无序且无法存储相同的对象。
对于 B,ConcurrentHashMap 是线程安全的,其中存储的 key 不可重复,但 value 可以重复。
对于 C,Collection 接口是 List 接口和 Set 接口的父接口,通常情况下不被直接使用。
对于 D,ArrayList 是非线程安全的,其底层为数组,可以存放重复的对象。
参考答案
ABD
以下哪些方法可以取到 http 请求中的 cookie 值()?
A、request.getAttribute
B、request.getHeader
C、request.getParameter
D、request.getCookies
解析
下面的方法可用在 Servlet 程序中读取 HTTP 头。这些方法通过 HttpServletRequest 对象可用:
Cookie[] getCookies()
:返回一个数组,包含客户端发送该请求的所有的 Cookie 对象。Object getAttribute(String name)
:以对象形式返回已命名属性的值,如果没有给定名称的属性存在,则返回 null。String getHeader(String name)
:以字符串形式返回指定的请求头的值。Cookie 也是头的一种;String getParameter(String name)
:以字符串形式返回请求参数的值,或者如果参数不存在则返回 null。
参考答案
B、D
总结
以上所有题目整理自牛客网