Java面试题——第五篇(Java基础)

news2024/9/22 7:27:51

1. main方法为什么是静态的,能不能改为非静态的

由于JVM在运行Java应用程序的时候,首先会调用main方法,调用时不实例化这个类的对象,而是通过类名直接调用因此需要限制为public static。
不能改为非静态,main方法必须声明为静态的,这样JVM才可以调用main方法而无需实例化他的类。

2. main方法能被重写吗

在Java中静态方法在编译时会编译在一起,main方法是静态方法,所以在Java中不能重写静态方法。

3. Java语法糖是什么意思

指在计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员适用,简而言之,语法糖让程序更加简洁,有更高的可读性。
常见的语法糖包括

  • 自动装箱拆箱
  • 泛型
  • 增强的for循环
  • 字符串连接符(+)
  • 方法引用

4. 为什么重写equals还要重写hashcode

HashMap中,如果要比较key是否相等,要同时使用这两个函数。因为自定义的类的hashcode()方法继承于Object类,其hashcode码为默认的内存地址。 这样,即便有相同含义的两个对象,比较也是不相等的。HashMap中比较key是这样的,先求出key的hashcode(),比较其值是否相等,若相等在比较equals(),若相等则认为是相等。 否则,认为他们不相等。

5. 如何实现对象克隆

  1. 实现cloneable接口并重写object类中的clone方法。
  2. 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。

6. 内部类的分类有哪些

在Java中,内部类是一个相对独立的类,但他被定义在另一个类的内部。内部类可以访问其外部类的所有成员,并提供了更好的封装性和代码组织方式。根据定义的位置和特性,内部类主要分为以下几种。

  1. 成员内部类
  • 定义:定义在类内部但在方法外的内部类。
  • 特点:
    – 可以访问外部类的所有成员(包括私有成员)。
    – 是非静态的,必须通过外部类的实例来创建。
    – 可以被定义为private、protected、public或默认访问级别。
  1. 静态内部类
  • 定义:使用static关键字修饰的内部类。
  • 特点:
    – 只能访问外部类的非静态成员。
    – 可以通过外部类名直接创建,不需要外部类的实例。
    – 可以被定义为private、protected、public或默认访问级别。
  1. 局部内部类(也称作方法内部类)
  • 定义:定义在方法或者代码块内部的内部类。
  • 特点:
    – 他的作用域仅限于定义他的方法或者代码块。
    – 可以访问外部类的所有成员。
    – 不能定义静态成员(包括静态方法和静态变量)
    – 不能使用访问修饰符修饰。
  1. 匿名内部类
  • 定义:没有名字的内部类,通常用于实现接口或者抽象类的实例化。
    在这里插入图片描述

7. 局部内部类和匿名内部类访问局部变量的时候,为什么变量必须加上final

示例:

public class Outer{
  void outMethod(){
    final int a = 10;
    class Inner{
      void innerMethod(){
		System.out.println(a);
      }
    }
  }
}

上述例子,变量a必须加上final,因为生命周期不一致,局部变量直接存储在栈中,当方法结束后,非final的局部变量就被销毁。而局部内部类对局部变量的引用依然存在,如果局部内部类要调用局部变量时,就会出错,加了final,可以确保局部内部类使用的变量与外层的局部变量区分开。

8. 抽象方法是否可同时是静态方法、本地方法或者被synchronized修饰

都不能
抽象方法需要子类重写,而静态方法无法被重写。
本地方法是native实现的
synchronized和方法的实现细节有关,抽象方法不涉及实现细节。

9. 类的实例化顺序

比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序。
先静态、先父后子。
一个类的实例化过程

  1. 父类中的static代码块,当前类的static。
  2. 顺序执行父类的普通代码块。
  3. 父类构造函数。
  4. 子类普通代码块。
  5. 子类构造函数
  6. 子类方法执行。

10. float f = 3.2 是否正确

不正确
3.2是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型,会造成精度丢失,因此需要强制类型转换
float f = (float) 3.2.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2111357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb - Mybatis - 基础操作

删除Delete 接口方法: Mapper public interface EmpMapper { //Delete("delete from emp where id 17") //public void delete(); //以上delete操作的SQL语句中的id值写成固定的17,就表示只能删除id17的用户数据 //SQL语句中的id值不能写成…

美妆行业的画册电子版如何制作?

美妆行业的画册电子版制作,首先要确立画册的主题和内容。针对美妆行业特点,可以展示产品系列、护肤理念、品牌故事、用户评价等内容。同时,为了吸引目标受众,需要注重画面美观和时尚感,突出产品特点和品牌形象。 在选择…

如何快速理解网络编程

目录 前言 一、网络编程的概念 二、TCP/IP架构体系的各层作用 三、网络通信中常用的专业术语 四、IP地址的分类和划分 前言 在一个主机中,我们能进行进程间通信,但是随这时代发展,我们不可能只是在单独的一个主机中传输数据,&…

H3C SR-MPLS通过OSPF通告SID配置

首先在配置前理解几个基本概念 Prefix SID配置 统一分配和配置(全局规划)loopback和prefix sidPrefix SIDSRGB Base(16000)index Adj SID自动生成 对应SR节点间的互联链路SR节点本地标识,从设备本地Segment池中动态…

观趋势 谋发展 2024 SSHT上海智能家居展有哪些创新呈现?

引言:大数跨境发布的《2024全球智能家居市场洞察报告》显示,智能家居市场正迎来快速增长,预计从2024年的1215.9亿美元增长至2032年的6332.0亿美元,复合年增长率为22.9%。 近年来,随着物联网、AI等底层技术的飞速进步&…

I/O管理【上】

目录 一. I/O设备的概念与分类二. I/O控制器(考的频率不高,但还是要有印象)三. I/O控制方式(重要考点)3.1 程序直接控制方式3.2 中断驱动方式3.3 DMA方式3.4 通道控制方式 四. I/O软件层次结构4.1用户层软件4.2 设备独立性软件4.3 设备驱动程…

摩博会前瞻:OneOS智能超高安全性彩屏,百元级价格,高性能骑行新选择!

引言 中国国际摩托车博览会即将启动!倒计时7天,OneOS与恒石智能联合打造的十几款智能彩屏仪表首次展出!十几款彩屏仪表由国产HMI芯片Model系列驱动,OneOS实时操作系统,100%国产自主设计,实现百元级超高安全…

DP(Display Port)

DP(Display Port) 一、DP简介 DisplayPort是由美国视频电子协会(VESA:Video Electronics Standards Association)在2006年5月提出的一种新型数字显示接口规范,主要用于源端和设备端(如电脑显示…

虚拟机中使用gparted扩展硬盘容量

步骤1:安装gparted apt-get install gparted 步骤2:关闭虚拟机,扩展硬盘容量 步骤3:开启虚拟机,找到gparted软件,双击 步骤4:扩展,点击原磁盘,点击扩展,点击保…

深度学习(十一)-PaddlePaddle

PaddlePaddle PaddlePaddle(Parallel Distributed Deep Learning,中文名飞桨) 是百度公司推出的开源、易学习、易使用的分布式深度学习平台 源于产业实践,在实际中有着优异表现 支持多种机器学习经典模型 优点 易用性。语法简…

网页时装购物系统:Spring Boot框架的创新设计

第1章 绪论 1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对时装购物系统方面的要求也在不断提高,喜欢购物的人数更是不断增加,使得时装购物系统的开发成为必需而且紧迫的…

搭建线上虚拟展厅,需要哪些技术?

搭建虚拟展厅需要一系列先进的技术支持,以确保能够为用户提供逼真、生动、互动的参观体验。以下是搭建虚拟展厅所需的主要技术: 1. 三维建模与渲染技术 三维建模:利用三维建模软件(如Maya、3D MAX、Blender等)建造三维…

Python | Leetcode Python题解之第389题找不同

题目: 题解: class Solution:def findTheDifference(self, s: str, t: str) -> str:return chr(sum(map(ord, t)) - sum(map(ord, s)))

基于free5gc模拟5G核心网和UERANSIM模拟5G用户设备的模拟5G网络环境的部署搭建方法总结和解析。

简介:下文介绍了基于free5gc模拟5G核心网和UERANSIM模拟5G用户设备的模拟5G网络环境的部署搭建方法,并且通过完成相关配置, 简单实现测试5G用户设备接入核心网的注册流程、去注册流程,模拟了一个用户设备通过模拟核心网进行实际的…

2024年上海松江启动建筑绿色低碳发展专项检查,共绘城市节能新篇章

2024年9月4日,2024年度松江区建筑工程绿色低碳发展工作专项检查会议正式开展,会议内容主要围绕以下三点, 1、《关于开展 2024年度本市建筑领域绿色低碳发展工作监督检查的通知》宣贯。 2、分项计量、能效测评工作验收要求介绍。 3、专项检…

怎么使用matplotlib绘制一个从-2π到2π的sin(x)的折线图-学习篇

首先:如果你的环境中没有安装matplotlib,使用以下命令可以直接安装 pip install matplotlib如何画一个这样的折线图呢?往下看 想要画一个简单的sin(x)在-2π到2π的折线图,我们要拆分成以下步骤: 先导入相关的库文…

用ChatGPT撰写论文被判抄袭?8个技巧让你轻松写出原创优质论文

在学术写作中,原创性和诚信是评价论文质量的关键因素。ChatGPT作为一种先进的AI写作助手,可以帮助您快速生成内容,但同时也带来了抄袭的风险。本文将探讨如何在使用ChatGPT时确保您的论文内容独特且原创。 以下是每个步骤的详细使用说明和操作案例: 一、具体提问与个性化…

VBA进行excel坐标转换

在Excel里利用坐标绘图时,可以比较容易想到采用数据透视表,但是数据透视表生成的图不可更改,因此本案例采用VBA进行坐标变换而不改变原始值来转换图像,即实现图像的左右翻转和上下翻转,如下图所示,选择map的…

万字长文,只为给小白说明白搭建一个单节点多工作节点k8s如何操作!!!

这里写目录标题 1. Kubernetes 基础概念1.1 什么是 Kubernetes?1.2 核心组件 本次搭建的机器演示具体的安装部署步骤修改主机的机器名称依次修改主机的host文件配置免密登录当前用户的 SSH 公钥复制到远程主机关闭交换区分区加载 br_netfilter 内核模块为什么安装 K…

iptables防火墙的通俗理解,和k8s中的iptables策略使用

iptables是什么? 是ip table s ip 表格 多个 就是 多个和ip有关系的表格 什么是ip? 每个网络设备的唯一标识 有这个,能和别的有ip的设备聊天 没这个,得想别的办法 拿四版本来说 ip是32个二进制数 比如…