专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 2022年Java基础笔试题及答案

2022年Java基础笔试题及答案

更新时间:2022-03-28 13:24:09 来源:赢咖4 浏览1894次

1.我们可以在 java 中重载或覆盖静态方法吗?

覆盖:覆盖与运行时Java的多态性有关。子类(或派生类)在运行时提供超类(或基类)中方法的特定实现。

重载:重载与编译时(或静态)多态性有关。此功能允许不同的方法具有相同的名称,但不同的签名,特别是输入参数的数量和输入参数的类型。

我们可以重载静态方法吗? 答案是“是”。我们可以有两个或多个同名但输入参数不同的静态方法

我们可以覆盖java中的静态方法吗? 我们可以在子类中声明具有相同签名的静态方法,但它不被视为重写,因为不会有任何运行时多态性。因此答案是“否”。静态方法不能被覆盖,因为方法覆盖只发生在方法的动态(即运行时)查找的上下文中。静态方法(按其名称)是静态查找的(即在编译时)。

2.如果从 main 方法中删除 static 修饰符会发生什么?

程序编译成功。但在运行时会抛出错误“NoSuchMethodError”。

3.在以下情况下,Java 中 变量的范围是什么?

成员变量(类级别范围):成员变量必须在类内(任何函数外)声明。它们可以在课堂的任何地方直接访问

局部变量(方法级作用域):在方法内声明的变量具有方法级作用域,不能在方法外访问。

循环变量(块范围):在方法中的一对括号“{”和“}”内声明的变量仅在括号内具有范围。

4.java中的“this”关键字是什么?

在实例方法或构造函数中,this 是对当前对象的引用——调用其方法或构造函数的对象。您可以使用 this 从实例方法或构造函数中引用当前对象的任何成员。

这个关键字的使用

用于引用当前类实例变量。

调用当前类构造函数。

它可以作为方法调用中的参数传递。

它可以在构造函数调用中作为参数传递。

用于返回当前类实例。

用于调用当前类方法(隐式)

5.我们可以重载 main() 方法吗?

Java中的主要方法是没有地外方法。除了 main() 就像任何其他方法一样并且可以以类似的方式重载之外,JVM 总是寻找方法签名来启动程序。

普通的 main 方法作为 JVM 开始执行程序的入口点。

我们可以重载Java中的main方法。但是当我们运行你的程序时,程序不会执行重载的main方法,我们只需要从实际的main方法中调用重载的main方法。

6.为什么通过更改 java 中的返回类型无法实现方法重载?

在 C++ 和 Java 中,只有返回类型不同的函数不能被重载。函数的返回类型不是编译器生成的用于唯一标识每个函数的错位名称的一部分。No of arguments, Type of arguments & Sequence of arguments 是用于为每个函数生成唯一的重整名称的参数。即使名称相同(重载),编译器也可以基于这些独特的错位名称来理解要调用哪个函数。

7.java中的“super”关键字是什么?

java中的super关键字是一个引用变量,用来引用父类对象。关键词“super”带着继承的概念出现了。每当您创建子类的实例时,都会隐式创建父类的实例,即由超引用变量引用。

java super关键字的各种使用场景:

super 用于引用直接父实例变量

super用于调用父类方法

super() 用于调用直接父构造函数

8.Java中的静态变量是什么?

java中的static关键字主要用于内存管理。我们可以将 java static 关键字应用于变量、方法、块和嵌套类。static 关键字属于类而不是类的实例。

静态可以是:

变量(也称为类变量)

方法(也称为类方法)

堵塞

嵌套类

9.Java中HashMap和HashTable的区别。

(1)HashMap 不同步。它不是线程安全的,并且在没有适当的同步代码的情况下不能在多个线程之间共享,而 Hashtable 是同步的。它是线程安全的,可以与许多线程共享。

(2)HashMap 允许一个空键和多个空值,而 Hashtable 不允许任何空键或空值。

(3)如果不需要线程同步,HashMap 通常优于 HashTable

10.Java对象是如何存储在内存中的?

在 Java 中,所有对象都在Heap上动态分配。这与 C++ 中的对象可以在堆栈或堆上分配内存不同。在 C++ 中,当我们使用 new() 分配对象时,对象分配在堆上,否则如果不是全局或静态的,则在堆栈上分配。

在Java中,当我们只声明一个类类型的变量时,只会创建一个引用(不为对象分配内存)。要将内存分配给对象,我们必须使用 new()。所以对象总是在堆上分配内存。

11.什么是空白最终变量?

Java 中的 final 变量只能被赋值一次,我们可以在声明中或之后赋值。

    final int i = 10;
    i = 30; // Error because i is final.

Java中的空白最终变量是在声明期间未初始化的最终变量。下面是一个空白final的简单例子。

    // A simple blank final example 
    final int i;
    i = 30;

12.什么是对象克隆?

对象克隆意味着创建原始对象的精确副本。如果一个类需要支持克隆,它必须实现 java.lang.Cloneable 接口并覆盖 Object 类的 clone() 方法。clone() 方法的语法是:

protected Object clone() throws CloneNotSupportedException

如果对象的类没有实现 Cloneable 接口,那么它会抛出异常 'CloneNotSupportedException' 。

以上就是关于“2022年Java基础笔试题及答案”的介绍,如果大家想了解更多相关知识,可以进行Java基础笔试题目的相关学习,相信对大家的学习一定会有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>