Java基础笔试练习(六)

1、子类构造函数调用父类构造函数用super

2、子类重写父类方法后,若想调用父类中被重写的方法,用super

3、未被重写的方法可以直接调用。

9.下列属于容器的组件有()?


A.JButton

B.JPanel

C.Thread

D.JTextArea

答案:

B

解析:

JPanel是Java图形用户界面(GUI)工具包中的面板容器类,包含在javax.swing包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField等,功能是对对窗体上的这些控件进行组合,相当于C++和C#中的Panel类。

10.我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。


A.对

B.错

答案:

B

解析:

system是java.lang中的一个类,out是System内的一个成员变量,这个变量是一个java.io.PrintStream类的对象,println就是一个方法了。

11.正则表达式中,表示匹配非数字字符的字符是()?


A.\b

B.\d

C.\B

D.\D

答案:

D

解析:

大写表示“非”,d表示digit数字。非数字就是\D, w表示word,非单词就是\W

12.对于以下代码段,4个输出语句中输出true的个数是( )。


class A{}

class B extends A{}

class C extends A{}

class D extends B{}

A obj = new D();

System.out.println(obj instanceof B);

System.out.println(obj instanceof C);

System.out.println(obj instanceof D);

System.out.println(obj instanceof A);

A.1

B.2

C.3

D.4

答案:

C

解析:

D属于B,D属于A,D属于D,D不属于C.所以选C

13.在Java中,HashMap中是用哪些方法来解决哈希冲突的?


A.开放地址法

B.二次哈希法

C.链地址法

D.建立一个公共溢出区

答案:

C

解析:

以上方法都是解决哈希填冲突的策略,但是在java.util.HashMap中,总体来说是使用的链地址法来解决冲突的。

当然了,使用链地址法会导致get的效率从o(1)降至o(n),所以在Java8中,使用的是平衡树来解决提高效率的。

14. 关于匿名内部类叙述正确的是? ( )


A.匿名内部类可以继承一个基类,不可以实现一个接口

B.匿名内部类不可以定义构造器

C.匿名内部类不能用于形参

D.以上说法都不正确

答案:

B

解析:

由于构造器的名字必须与类名相同,而匿名类没有类名,所以匿名类不能有构造器。

15.下下面哪一项不是加载驱动程序的方法?


A.通过DriverManager.getConnection方法加载

B.调用方法 Class.forName

C.通过添加系统的jdbc.drivers属性

D.通过registerDriver方法注册

答案:

A

解析:

DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的

16.关于以下代码的说明,正确的是()?


1. class StaticStuff

2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ])

6. {

7. System.out.println(“x=” + x);

8. }

9. static { x/=3;}

  1. }

A.4行与9行不能通过编译,因为缺少方法名和返回类型

B.9行不能通过编译,因为只能有一个静态初始化器

C.编译通过,执行结果为:x=5

D.编译通过,执行结果为:x=3

答案:

C

解析:

先执行:

1 static int x = 10;

再执行两个静态块:

1 static { x+=5; }

2 static { x/=3; }

最后执行main():

1 System.out.println(“x=” + x);

所以x = 10 -> x = x +5 = 15 -> x = x / 3 = 5 打印x=5

17.以下集合对象中哪几个是线程安全的()?


A.LinkedList

B.ArrayList

C.Vector

D.Hashtable

答案:

C D

解析:

简单记忆线程安全的集合类:喂!SHE! 喂是指vector,S是指stack,H是指hashtable,E是指:Eenumeration

18.下面哪些可能是重载的基本条件()(注意:是可能为重载的基本条件)


A.参数的类型不同

B.参数的顺序不同

C.函数的返回值类型不同

D.参数的个数不同

答案:

A B D

解析:

重载的概念是:

方法名称相同,参数个数、次序、类型不同

因此重载对返回值没有要求,可以相同,也可以不同

但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载

19.下面有关 java 类加载器,说法正确的是?()


A.引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的

B.扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。

C.系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类

D.tomcat 为每个 App 创建一个 Loader,里面保存着此 WebApp 的 ClassLoader。需要加载 WebApp 下的类时,就取出 ClassLoader 来使用

答案:

A B C D

解析:

类的加载是由类加载器完成的,类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器( java.lang.ClassLoader 的子类)。从 Java 2 (JDK 1.2)开始,类加载过程采取了父亲委托机制( PDM )。 PDM 更好的保证了 Java 平台的安全性,在该机制中, JVM 自带的 Bootstrap 是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载。 JVM 不会向 Java 程序提供对 Bootstrap 的引用。下面是关于几个类加载器的说明:

  • Bootstrap :一般用本地代码实现,负责加载 JVM 基础核心类库( rt.jar );

  • Extension :从 java.ext.dirs 系统属性所指定的目录中加载类库,它的父加载器是 Bootstrap ;

  • system class loader:又叫应用类加载器,其父类是Extension。它是应用最广泛的类加载器。它从环境变量 classpath 或者系统属性 java.class.path 所指定的目录中记载类,是用户自定义加载器的默认父加载器。

用户自定义类加载器: java.lang.ClassLoader 的子类

-父类委托机制是可以修改的,有些服务器就是自定义类加载器优先的。

20.关于Java的一些概念,下面哪些描述是正确的:( )


A.所有的Java异常和错误的基类都是java.lang.Exception, 包括java.lang.RuntimeException

B.通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行

C.java中所有的数据都是对象

D.Java通过垃圾回收回收不再引用的变量,垃圾回收时对象的finallize方法一定会得到执行

E.Java是跨平台的语言,无论通过哪个版本的Java编写的程序都能在所有的Java运行平台中运行

F.Java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的

答案:

B F

解析:

A:Java中所有错误和异常的父类是java.lang.Throwable

B:基本数据类型不是对象,不能用new的方法获取,但是每个基本数据类型都对应着封装类型,这些封装类型为了解决基本数据类型面向对象用的。

C:Java垃圾回收器负责回收无用对象占据的内存资源,但对象没有使用new获取了一块特殊区域,这块特殊区域的回收使用finallize()

D:Java跨平台是因为有JVM的存在,Java的三个版本的运行需要各自不同的环境。

推荐


大厂笔试内容集合(内有详细解析) 持续更新中…

最后

able

B:基本数据类型不是对象,不能用new的方法获取,但是每个基本数据类型都对应着封装类型,这些封装类型为了解决基本数据类型面向对象用的。

C:Java垃圾回收器负责回收无用对象占据的内存资源,但对象没有使用new获取了一块特殊区域,这块特殊区域的回收使用finallize()

D:Java跨平台是因为有JVM的存在,Java的三个版本的运行需要各自不同的环境。

推荐


大厂笔试内容集合(内有详细解析) 持续更新中…

最后

[外链图片转存中…(img-3qtc1jAD-1719488288403)]

[外链图片转存中…(img-28WtPRNw-1719488288404)]

[外链图片转存中…(img-V9EoaIwP-1719488288405)]

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值