Java练习题 07

Posted 小写丶H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java练习题 07相关的知识,希望对你有一定的参考价值。

1. 以下哪些方法是Object类中的方法
正确答案: A B C D 你的答案: B C D (错误)
A.clone()
B.toString()
C.wait()
D.finalize()

2. 类之间存在以下几种常见的关系:
正确答案: A B C 你的答案: C D (错误)
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的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分的关系,但这种整体和部分是不可分割的。

3 以下语句返回值为 true 的是()

正确答案: A B 你的答案: A B (正确)
A.a1== a2
B.d1== d2
C.b1== b2
D.c1== c2
解析:
选项A,a1、a2赋值给Integer类型,自动装箱。对于–128到127(默认是127)之间的值,Integer.valueOf(int i) 返回的是缓存的Integer对象(并不是新建对象),变量所指向的是同一个对象,所以a1== a2 返回true。
选项B,Integer和int比较会进行自动拆箱,比较的是数值大小,所以d1== d2返回true。
选项C,由于超出自动装箱的范围,return返回的是新建的对象,所以对象内存地址不同,b1== b2返回false。
选项D,普通new创建对象,两个new创建两个地址不同的对像,所以c1==c2返回false。

4 下列代码片段中,存在编译错误的语句是()

byte b1=1,b2=2,b3,b6,b8;
final byte b4=4,b5=6,b7;
b3=(b1+b2);  /*语句1*/
b6=b4+b5;    /*语句2*/
b8=(b1+b4);  /*语句3*/
b7=(b2+b5);  /*语句4*/
System.out.println(b3+b6);

正确答案: B C D
A.语句2
B.语句1
C.语句3
D.语句4

解析:
语句1错误:b3=(b1+b2);自动转为int,所以正确写法为b3=(byte)(b1+b2);或者将b3定义为int;
语句2正确:b6=b4+b5;b4、b5为final类型,不会自动提升,所以和的类型视左边变量类型而定,即b6可以是任意数值类型;
语句3错误:b8=(b1+b4);虽然b4不会自动提升,但b1仍会自动提升,所以结果需要强转,b8=(byte)(b1+b4);
语句4错误:b7=(b2+b5); 同上。同时注意b7是final修饰,即只可赋值一次,便不可再改变。

5 可以把任何一种数据类型的变量赋给Object类型的变量。
正确答案: A 你的答案: B (错误)
A.对
B.错
解析:Java中一切都是对象,Object是所有类的根类
八大基础数据类型会自动装箱后赋值给Object

6 JAVA反射机制主要提供了以下哪些功能?
正确答案: A B C D 你的答案: A B C D (正确)
在运行时判断一个对象所属的类
在运行时构造一个类的对象
在运行时判断一个类所具有的成员变量和方法
在运行时调用一个对象的方法

7 下面有关 Java ThreadLocal 说法正确的有?
正确答案: A B C D 你的答案: C D (错误)
A.ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递
B.线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收
C.在Thread类中有一个Map,用于存储每一个线程的变量的副本。
D.对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式

8 使用mvc模式设计的web应用程序具有以下优点,除了?
正确答案: D
A.可维护行强
B.可扩展性强
C.代码重复少
D.大大减少代码量

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面
显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC只是将分管不同功能的逻辑代码进行了隔离,增强了可维护和可扩展性,增强代码复用性,因此可以减少代码重复。但是不保证减少代码量,多层次的调用模式还有可能增加代码量

以上是关于Java练习题 07的主要内容,如果未能解决你的问题,请参考以下文章

Java练习题 07

Java练习题 07

Java入门练习100例07.各数字的和——取余运算

07_Java基础语法_第7天(练习)_讲义

练习07.17|每日一练Java编程笔试面试题

20020-07-10日报博客