java笔试错题集(一)

(1)

关于访问权限,说法正确的是? ( )

正确答案: A   你的答案: C (错误)

类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB
类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB
访问权限大小范围:public > 包权限 > protected > private
访问权限大小范围:public > 包权限 > private > protected

解析:

2.以下程序运行的结果为()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

public class Example extends Thread{

     @Override

     public void run(){

        try{

             Thread.sleep(1000);

             }catch (InterruptedException e){

             e.printStackTrace();

             }

             System.out.print("run");

     }

     public static void main(String[] args){

             Example example=new Example();

             example.run();

             System.out.print("main");

     }

}

正确答案: A   你的答案: A (正确)

A.run main
B.main run
C.main
D.run
不能确定

解析:

这个类虽然继承了Thread类,但是并没有真正创建一个线程。

创建一个线程需要覆盖Thread类的run方法,然后调用Thread类的start()方法启动

这里直接调用run()方法并没有创建线程,跟普通方法调用一样,是顺序执行的

3.一个完整的URL地址由(),(),端口和文件四部分组成。

正确答案: B   你的答案: A (错误)

A.协议 用户名
B.协议 主机名
C.主机名 ip
D.以上都不正确

解析:URL(Uniform Resource Locator) ,统一资源定位符,能够对因特网的资源进行定位。
URL一般有四部分组成: <协议>://<主机>:<端口>/<路径> 

现在最常用的<协议>为http协议。
<主机>是指主机在因特网上的域名。
http协议的默认<端口>为80(可以省略)。
<路径>是指要活的的文件的路径。

4.查看解析

Thread. sleep()是否会抛出checked exception?

解析:checked exception:指的是编译时异常,该类异常需要本函数必须处理的,用try和catch处理,或者用throws抛出异常,然后交给调用者去处理异常。

runtime exception:指的是运行时异常,该类异常不必须本函数必须处理,当然也可以处理。

Thread.sleep()抛出的InterruptException属于checked exception;IllegalArgumentException属于Runtime exception;

5.

以下代码的输出结果是?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

public class B

{

    public static B t1 = new B();

    public static B t2 = new B();

    {

        System.out.println("构造块");

    }

    static

    {

        System.out.println("静态块");

    }

    public static void main(String[] args)

    {

        B t = new B();

    }

}

构造块 构造块 静态块 构造块
链接:https://www.nowcoder.com/questionTerminal/ab6eb06face84c4e81ab5bc6f0f7f258
来源:牛客网
 

并不是静态块最先初始化,而是静态域.(BM:啊!多么痛的领悟!)

而静态域中包含静态变量、静态块和静态方法,其中需要初始化的是静态变量和静态块.而他们两个的初始化顺序是靠他们俩的位置决定的!

So!

初始化顺序是 t1 t2 静态块

 

本题注意如下几点:

1、每调用一次构造方法,则执行一次构造块

2、静态块只在类加载的时候加载一次

3、有多个静态变量或块时,按声明顺序加载

6.

列说法正确的是()

正确答案: B   你的答案: A (错误)

在类方法中可用this来调用本类的类方法
在类方法中调用本类的类方法时可直接调用
在类方法中只能调用本类中的类方法
在类方法中绝对不能调用实例方法

解析:

先要理解什么是类的方法,所谓类的方法就是指类中用static 修饰的方法(非static 为实例方法),比如main 方法,那么可以以main 方法为例,可直接调用其他类方法,必须通过实例调用实例方法,this 关键字不是这么用的

链接:https://www.nowcoder.com/questionTerminal/aec552ee8398421caae6177293790656
来源:牛客网
 

7.下列不属于java语言鲁棒性特点的是

鲁棒性(Robust,即健壮性)
Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生 的错误。通过集成的面向对象的例外处理机制,在编译时,Java揭示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外, Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。

感觉B选项虽然描述也对,但是,不应该把它归结于鲁棒性,B选项主要是体现Java的由于虚拟机,实现了一次编译,到处运行,跨平台性的特点

8.

下列在Java语言中关于数据类型和包装类的说法,正确的是()

正确答案: B   你的答案: C (错误)

基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型
long和double都占了64位(64bit)的存储空间。
默认的整数数据类型是int,默认的浮点数据类型是float。
和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。

解析:

下列在Java语言中关于数据类型和包装类的说法,正确的是()

正确答案: B   你的答案: C (错误)

基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型
long和double都占了64位(64bit)的存储空间。
默认的整数数据类型是int,默认的浮点数据类型是float。
和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。

猜你喜欢

转载自blog.csdn.net/weixin_42173193/article/details/87915114