文档密级:
C.
for(int i = 0; i < MAX_INDEX; i++ ) {
list.add(FruitFactory.getInstance().createApple()); }
D. String log = message + “Y”; 13、下列说法错误的是() A. 尽可能的使用局部变量进行运算。
B. 不要使用静态集合,其内存占用增长没有边界。
C. 一个只有abstract方法、final static 属性的类应该定义成接口。 D. 使用 while(), sleep()代替 wait(), notify()。 14、下面说法错误的是() A.属性名不能与方法名相同。
B.方法重载的时候,一定要注意方法名相同。 C.方法的参数名不要和类中的方法名相同。 D.使用 equals() 比较两个类是否相同。 15、关于说法正确的是:
A.使用StringBuffer的时候设置初始容量,推荐设置为1024。 B.使用 StringBuffer代替String
C.在国际化相关的处理逻辑,不要使用String。
D.不要通过名字比较两个对象的类,应该使用 instanceof() E.类调用方法的最大规模建议不超过20个。 16、下列关于finalize()的描述错误的有:
A.在 finalize() 方法中一定要调用 super.finalize() 方法
B.在 finalize() 方法中的 finally 中调用 super.finalize() 方法; C.不要在 finalize() 方法中删除监听器(Listeners); D.可以在finalize() 方法中删除监听器(Listeners); 17、下列描述中不符合编程规范的有: A.不要使用空的for 、if 、while 语句;
2015-7-15
华为机密,未经许可不得扩散
第6页, 共16页
文档密级:
B.在 clone() 方法中应该而且必须使用 new一个父类的对象。。
C.方法重载的时候,一定要注意方法名相同,避免类中使用两个非常相似的方法名;
D.不要在 for 循环体中对计数器的赋值。
18、下面对类、方法、属性的说法不符合编程规范的有: A.不要覆盖父类的私有方法。
B.类中不要使用非私有的非静态属性。 C.
类定义 {
类的私有属性定义 类的公有属性定义 类的保护属性定义 类的私有方法定义 类的公有方法定义 类的保护方法定义 }
D.类私有方法的最大规模建议为15个
三、多选题(每题3分,共36分)
1、下面哪些不符合公司的JAVA编程规范: A.
switch ( key ) {
case Log.INFO: value = getINFOValue(); break;
case Log.ERROR: value = getErrorValue(); break;
default: value = getDefaultValue();
2015-7-15
华为机密,未经许可不得扩散
第7页, 共16页
文档密级:
} B.
while ( key > 1){ key--; } C.
void example_fun( Object value ) {
//key 表示呼叫的关键事件 int key = 0;
key = getCallEventKey(); ...//program code } D.
if ( key >= 0 &&
key <= ServiceConfig.getBlackListSize() ) {
//program code } E. do {
//program code }while( key > 0);
2、下面哪些符合公司的编程规范的注释要求的有: A.文件注释:
/*
* 文件名:LogManager.java
* 描述: WIN V200R002 WEBSMAP 通用日志系统
2015-7-15
华为机密,未经许可不得扩散
第8页, 共16页
文档密级:
* 修改人: 张三 * 修改时间:2001-02-16 * 修改内容:新增 */ B.类注释:
/**
* LogManager 类集中控制对日志读写的操作。
* 全部为静态变量和静态方法,对外提供统一接口。分配对应日志类型的读写器,
* 读取或写入符合条件的日志纪录。 * @author 张三,李四,王五 * @version 1.2, 2001-03-25 * @see LogIteraotor * @see BasicLog * @since CommonLog1.0 */ C.
<... 省略了文件注释、包语句、类的注释?> public class KeyManager {
private int key = 0; //key属性记录关键事件ID /**
* 设置关键事件ID
* 函数功能:呼叫过程,设置(记录)关键事件的ID * @param [key|int] 呼叫过程的关键事件ID * @return [void] 返回空 */
public void setKey( int key )
2015-7-15
华为机密,未经许可不得扩散
第9页, 共16页
文档密级:
{
this.key = key; } } D. /**
* 根据日志类型和时间读取日志。
* 分配对应日志类型的LogReader,反复器缓冲数, * 读取日志记录。查询条件为null或0的表示没限制,
* 反复器缓冲数为0读不到日志。
* @param logTypeName 日志类型名(在配置文件中定义的) * @param startTime 查询日志的开始时间 * @param bufferNum 日志反复器缓冲记录数 * @return 结果集,日志反复器 * @since CommonLog1.0 */
public static LogIterator read(String logType, Date startTime,
int bufferNum)
throws Exception {
if (null == logType ) {
//如果日志类型没有设置,抛出“日志类型为空”异常 throw new LogTypeException(\ }
...//program code } E.
public void example( )
2015-7-15
华为机密,未经许可不得扩散
第10页, 共16页