1.设Tree为已定义的类名,下列语句能正确创建 Tree 对象的是 。

正确答案: B 你的答案: B (正确)
A.Tree t=new Tree;
B.Tree t=new Tree();
C.Tree t=Tree();
D.Tree t[ ]=new Tree[10];

解释:
A: 少括号
B: 正确(但是要前提,Tree类中存在无参构造器,并且是public的。如果Tree中存在有参构造器且无参构造器不存在或者无参构造器为private的话,选B也是错误的)
C: 缺少new,没有创建新的对象
D:题中创建的是数组对象,而不是Tree对象。

2.列哪种异常是检查型异常,需要在编写程序时声明?

正确答案: C 你的答案: C (正确)
A.NullPointerException
B.ClassCastException
C.FileNotFoundException
D.IndexOutOfBoundsException

解释:
Java异常

  • 检查型异常(编译时异常 checked exceptions)

  • 需要在编写程序时声明

  • 需要我们手动的进行捕捉处理,也就是我们用try…catch块进行捕捉处理。或者在方法签名里通过throws子句声明

  • Throwable、Exception、IOException、ClassNotFoundException、CloneNotSupportedException、EOFException、FileNotFoundException、MalformedURLException、UnknownHostException

  • 运行异常(runtime exceptions)

    • 只有在编译器在编译运行时才会出现,这些不需要我们手动进行处理
    • 需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除…
    • RuntimeException、ArithmeticException、ClassCastException、IllegalArgumentException、IllegalStateException、IndexOutOfBoundsException、NoSuchElementException、NullPointerException
  • Error

    • 属于严重错误,如系统崩溃、虚拟机错误、动态链接失败等,这些错误无法恢复或者不可能捕捉,将导致应用程序中断,Error不需要捕捉。

3.关于下面的程序,说法正确的是:

1. class StaticStuff
2 {3.     static int x = 10;
4.
5.     static { x += 5; }
6.
7. public static void main(String args[])
8. {9.     System.out.println(“x = ” + StaticStuff .x);
10. }
11.    static
12.     {x /= 3; }
13.}

正确答案: D 你的答案: E (错误)

A.第5行和12行不能编译,因为该方法没有方法名和返回值。
B.第12 行不能编译,因为只能有一个static初始化块。
C.代码编译并执行,输出结果x = 10.
D.代码编译并执行,输出结果 x = 5.
E.代码编译并执行,输出结果 x = 15.

解释:
执行顺序为:
父类静态代码块、静态变量 ps:按声明顺序执行

子类静态代码块、静态变量 ps:按声明顺序执行

父类局部代码块、成员变量 ps:按声明顺序执行

父类构造函数

子类局部代码块、成员变量 ps:按声明顺序执行

子类构造函数

4.下面代码运行结果是?

public class Test
{static boolean foo(char c){System.out.print(c);return true;}public static void main( String[] argv ){int i = 0;for ( foo('A'); foo('B') && (i < 2); foo('C')){i++ ;foo('D');}}
}

正确答案: A 你的答案: A (正确)
A.ABDCBDCB
B.ABCDABCD
C.Compilation fails.
D.An exception is thrown at runtime.

解释:
for(条件1;条件2;条件3) {
//语句
}
执行顺序是条件1->条件2->语句->条件3->条件2->语句->条件3->条件2…
如果条件2为true,则一直执行。如果条件2位false,则for循环结束

5.以下代码输出的是:

public class SendValue{public String str="6";public static void main(String[] args) {SendValue sv=new SendValue();sv.change(sv.str);System.out.println(sv.str);}public void change(String str) {str="10";}
}

正确答案: A 你的答案: A (正确)
A.6
B.10
C.都不对
D.16

Java中String类型变量是immutable(不可变的)。
尽管 change()方法中的str与sv.str都是新的对象实例成员变量值"6"的引用, 由于String类型的 不可变 性,change()方法中的str="10"语句实际上是将传入的str副本引用指向了一个值为“10”的新的内存地址,但 原数据引用 sv.str的引用值(也就是“6”的内存地址) 并没有发生改变,因此sv.str指向的值仍旧为6.

6.一般情况下,以下哪个选项不是关系数据模型与对象模型之间匹配关系?

正确答案: D 你的答案: D (正确)
A.表对应类
B.记录对应对象
C.表的字段对应类的属性
D.表之间的参考关系对应类之间的依赖关系

解释:
类与类之间的关系主要体现在表与表之间的关系进行操作,它们都是对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many

7.下面哪个行为被打断不会导致InterruptedException:( )?

正确答案: E 你的答案: B (错误)
A.Thread.join
B.Thread.sleep
C.Object.wait
D.CyclicBarrier.await
E.Thread.suspend

解释:
suspendsuspend方法作用是阻塞一个线程,不会释放锁,直到其他的线程调用resume方法,才能继续向下执行。被打断不会导致InterruptedException。

抛InterruptedException的代表方法有:

  • java.lang.Object 类的 wait 方法
  • java.lang.Thread 类的 sleep 方法
  • java.lang.Thread 类的 join 方法

8.以下说法错误的是( )

正确答案: A B 你的答案: A B (正确)
A.final修饰的方法不能被重载
B.final可以修饰类、接口、抽象类、方法和属性
C.final修饰的方法也不能被重写
D.final修饰的属性是常量,不可以修改

解释:
final表示最终的意思,它修饰的类是不能被继承的;final修饰的方法能被继承(Math类里就有),但是不能够被重写。其实关系并不复杂,你只需要记住这样一句话:final可用于声明属性、方法和类,分别表示属性不可变,方法不可重写,类不可继承。当然final修饰的方法是可以被重载的。

9.Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,
以下过程属于初始化阶段是()。

正确答案: A C D 你的答案: A B D (错误)
A.加载Servlet类及.class对应的数据
B.创建servletRequest和servletResponse对象
C.创建ServletConfig对象
D.创建Servlet对象

解释:
Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,以下过程属于初始化阶段是

  1. 加载Servlet类及.class对应的数据
  2. 创建ServletConfig对象
  3. 创建Servlet对象

每一次请求来到容器时,会产生HttpServletRequest与HttpServlceResponse对象,并在调用service()方法时当做参数传入。
在WEB容器启动后,会读取Servlet设置信息,将Servlet类加载并实例化,并为每个Servlet设置信息产生一个ServletConfig对象,而后调用Servlet接口的init()方法,并将产生的ServletConfig对象当作参数传入。

10.类之间存在以下几种常见的关系:

正确答案: A B C 你的答案: A B C (正确)
A>.“USES-A”关系
B.“HAS-A”关系
C.“IS-A”关系
D.“INHERIT-A”关系

解释:
USES-A:依赖关系,A类会用到B类,这种关系具有偶然性,临时性。但B类的变化会影响A类。这种在代码中的体现为:A类方法中的参数包含了B类。
关联关系:A类会用到B类,这是一种强依赖关系,是长期的并非偶然。在代码中的表现为:A类的成员变量中含有B类。
HAS-A:聚合关系,拥有关系,是关联关系的一种特例,是整体和部分的关系。比如鸟群和鸟的关系是聚合关系,鸟群中每个部分都是鸟。
IS-A:表示继承。父类与子类,这个就不解释了。

要注意:还有一种关系:组合关系也是关联关系的一种特例,它体现一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分的关系,但这种整体和部分是不可分割的。

Java选择题(十八)相关推荐

  1. 小白学JAVA之十八——泛型

    小白学JAVA之十八--泛型 一. 基本概念 通常情况下集合中可以存放不同类型的对象,是因为将所有对象都看做Object类型放入的,因此从集合中取出元素时也是Object类型,为了表达该元素真实的数据 ...

  2. JAVA(十八)IO流(十六)补充版

    目录 常用流对象 1.文件字节流 1.1文件字节输入流 1.2文件字节输出流 1.3通过缓冲区提高读写效率 1.3.1方法一 1.3.2方法二 1.4字节缓冲流 1.5定义文件拷贝工具类 2.文件字符 ...

  3. Java设计模式(十八):享元设计模式

    1. 应用场景 当我们项目中创建很多对象,而且这些对象存在许多相同模块,这时,我们可以将这些相同的模块提取出来采用享元模式生成单一对象,再使用这个对象与之前的诸多对象进行配合使用,这样无疑会节省很多空 ...

  4. java | (二十八)jsp(2)其它标签,AOP,文件上传下载,部署javaweb到Tomcat

    这里写目录标题 core核心标签,逻辑标签 其它标签 redirect标签 自定义标签 AOP编程 文件的上传和下载 fileupload组件实现web文件上传 文件下载 MVC模式 部署发布java ...

  5. 《Java面试十八式》----第二式,简历投递

    第二式 [老汉推车] 老汉推车:名词还是动词? 在上一节,我们说了如何写简历,简历写得漂亮,也得需要有人去发现,所以在投递简历这件事我们也需要细心留意. 招聘网站 首先我们的投递网站要选对,千万别再选 ...

  6. Java二十八:Java可变参数

    可变参数 在方法声明中,在指定参数类型后加一个省略号- 一个方法中,只能指定一个可变参数,而且必须是方法声明中的最后一个参数, 任何普通参数都必须在它之前声明. 当调用可变个数参数的方法时,传入参数可 ...

  7. 五十八、深入了解 Java 中的注解和自定义注解

    @Author:Runsen @Date:2020/7/9 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  8. 二十八、Java中的Int和Integer的区别

    @Author:Runsen @Date:2020/6/3 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  9. 张季跃 201771010139《面向对象程序设计(java)》第十八周学习总结

    张季跃 201771010139<面向对象程序设计(java)>第十八周学习总结 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: ...

  10. 【零基础学Java】—自定义异常(四十八)

    [零基础学Java]-自定义异常(四十八) 自定义异常类:java提供的异常类,不够我们使用,需要自己定义一个异常类 格式: public class XXXException extends Exc ...

最新文章

  1. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类
  2. ipad UISplitViewController 导航视图控制器标题设置
  3. gevent 学习笔记一
  4. centos7.0搭建svn服务器
  5. eclipse3.1.1汉化版安装
  6. 偏置面命令_UG10.0同步建模之移动面、删除面、替换面详解
  7. Spring Framework 核心原理与源码解析-大纲
  8. Git(6)-- 记录每次更新到仓库图文版(git clone、status、add、diff、commit、rm、mv命令详解)
  9. 【风电功率预测】基于matlab粒子群算法优化LSTM风电功率预测【含Matlab源码 941期】
  10. 使用jave1.0.2.jar进行音视频转码
  11. windows主机开启winrm端口powershell脚本
  12. 吴裕雄 18-MySQL GROUP BY 语句
  13. SpringSecurity之授权
  14. HAFederation
  15. 快排为什么一定要从右边开始?
  16. 沪铅上市十周年 “铅华”与本色尽显
  17. WordPress常用主题功能函数
  18. 使用dnsmasq在本地将域名解析为CNAME别名
  19. 什么是WordPress网站的密码泄露?
  20. if [ $? -eq 0 ]的含义

热门文章

  1. 【软件工程】UML序列图
  2. 如何通过浏览器访问本地电脑文件
  3. const T、const T*、T *const、const T、const T* 的区别
  4. 华侨大学计算机组成原理期末考试试题,计算机组成原理试卷A卷答案
  5. 第六节-列空间与零空间
  6. 【方法】Latex多行公式及编号
  7. 计算机网络安全(1)
  8. 184_刘发顺_Java核心编程
  9. Java设计原则之单一职责原则、开闭原则、里氏代换原则
  10. go Benchmark的运行