更新时间:2022-03-28 13:24:09 来源:极悦 浏览2081次
覆盖:覆盖与运行时Java的多态性有关。子类(或派生类)在运行时提供超类(或基类)中方法的特定实现。
重载:重载与编译时(或静态)多态性有关。此功能允许不同的方法具有相同的名称,但不同的签名,特别是输入参数的数量和输入参数的类型。
我们可以重载静态方法吗? 答案是“是”。我们可以有两个或多个同名但输入参数不同的静态方法
我们可以覆盖java中的静态方法吗? 我们可以在子类中声明具有相同签名的静态方法,但它不被视为重写,因为不会有任何运行时多态性。因此答案是“否”。静态方法不能被覆盖,因为方法覆盖只发生在方法的动态(即运行时)查找的上下文中。静态方法(按其名称)是静态查找的(即在编译时)。
程序编译成功。但在运行时会抛出错误“NoSuchMethodError”。
成员变量(类级别范围):成员变量必须在类内(任何函数外)声明。它们可以在课堂的任何地方直接访问
局部变量(方法级作用域):在方法内声明的变量具有方法级作用域,不能在方法外访问。
循环变量(块范围):在方法中的一对括号“{”和“}”内声明的变量仅在括号内具有范围。
在实例方法或构造函数中,this 是对当前对象的引用——调用其方法或构造函数的对象。您可以使用 this 从实例方法或构造函数中引用当前对象的任何成员。
这个关键字的使用
用于引用当前类实例变量。
调用当前类构造函数。
它可以作为方法调用中的参数传递。
它可以在构造函数调用中作为参数传递。
用于返回当前类实例。
用于调用当前类方法(隐式)
Java中的主要方法是没有地外方法。除了 main() 就像任何其他方法一样并且可以以类似的方式重载之外,JVM 总是寻找方法签名来启动程序。
普通的 main 方法作为 JVM 开始执行程序的入口点。
我们可以重载Java中的main方法。但是当我们运行你的程序时,程序不会执行重载的main方法,我们只需要从实际的main方法中调用重载的main方法。
在 C++ 和 Java 中,只有返回类型不同的函数不能被重载。函数的返回类型不是编译器生成的用于唯一标识每个函数的错位名称的一部分。No of arguments, Type of arguments & Sequence of arguments 是用于为每个函数生成唯一的重整名称的参数。即使名称相同(重载),编译器也可以基于这些独特的错位名称来理解要调用哪个函数。
java中的super关键字是一个引用变量,用来引用父类对象。关键词“super”带着继承的概念出现了。每当您创建子类的实例时,都会隐式创建父类的实例,即由超引用变量引用。
java super关键字的各种使用场景:
super 用于引用直接父实例变量
super用于调用父类方法
super() 用于调用直接父构造函数
java中的static关键字主要用于内存管理。我们可以将 java static 关键字应用于变量、方法、块和嵌套类。static 关键字属于类而不是类的实例。
静态可以是:
变量(也称为类变量)
方法(也称为类方法)
堵塞
嵌套类
(1)HashMap 不同步。它不是线程安全的,并且在没有适当的同步代码的情况下不能在多个线程之间共享,而 Hashtable 是同步的。它是线程安全的,可以与许多线程共享。
(2)HashMap 允许一个空键和多个空值,而 Hashtable 不允许任何空键或空值。
(3)如果不需要线程同步,HashMap 通常优于 HashTable
在 Java 中,所有对象都在Heap上动态分配。这与 C++ 中的对象可以在堆栈或堆上分配内存不同。在 C++ 中,当我们使用 new() 分配对象时,对象分配在堆上,否则如果不是全局或静态的,则在堆栈上分配。
在Java中,当我们只声明一个类类型的变量时,只会创建一个引用(不为对象分配内存)。要将内存分配给对象,我们必须使用 new()。所以对象总是在堆上分配内存。
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;
对象克隆意味着创建原始对象的精确副本。如果一个类需要支持克隆,它必须实现 java.lang.Cloneable 接口并覆盖 Object 类的 clone() 方法。clone() 方法的语法是:
protected Object clone() throws CloneNotSupportedException
如果对象的类没有实现 Cloneable 接口,那么它会抛出异常 'CloneNotSupportedException' 。
以上就是关于“2022年Java基础笔试题及答案”的介绍,如果大家想了解更多相关知识,可以进行Java基础笔试题目的相关学习,相信对大家的学习一定会有所帮助。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习