每日五道java面试题之java基础篇(三)

在这里插入图片描述

第一题. switch 是否能作⽤在 byte/long/String 上?

  • Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int。
  • 从 Java 5 开始,Java 中引⼊了枚举类型, expr 也可以是 enum 类型。
  • 从 Java 7 开始,expr 还可以是字符串(String),但是⻓整型(long)在⽬前所有的版本中都是不可以的

第二题. break ,continue ,return 的区别及作⽤?

  • break 跳出整个循环,不再执⾏循环(结束当前的循环体)
  • continue 跳出本次循环,继续执⾏下次循环(结束正在执⾏的循环 进⼊下⼀个循环条件)
  • return 程序返回,不再执⾏下⾯的代码(结束当前的⽅法 直接返回)

在这里插入图片描述

第三题 面向对象和面向过程的区别?

⾯向过程 :⾯向过程就是分析出解决问题所需要的步骤,然后⽤函数把这些步骤⼀步⼀步实现,使⽤的时候再⼀个⼀个的⼀次调⽤就可以。
⾯向对象 :⾯向对象,把构成问题的事务分解成各个对象,⽽建⽴对象的⽬的也不是为了完成⼀个个步骤,⽽是为了描述某个事件在解决整个问题的过程所发⽣的⾏为。 ⽬的是为了写出通⽤的代码,加强代码的重⽤,屏蔽差异性。
⽤⼀个⽐喻:⾯向过程是编年体,⾯向对象是纪传体。
在这里插入图片描述

第四题 ⾯向对象有哪些特性?

在这里插入图片描述

  • 封装
    封装把⼀个对象的属性私有化,同时提供⼀些可以被外界访问的属性的⽅法。
  • 继承
    继承是使⽤已存在的类的定义作为基础创建新的类,新类的定义可以增加新的属性或新的⽅法,也可以继承⽗类的属性和⽅法。通过继承可以很⽅便地进⾏代码复⽤。

关于继承有以下三个要点:

  1. ⼦类拥有⽗类对象所有的属性和⽅法(包括私有属性和私有⽅法),但是⽗类中的私有属性和⽅法⼦类是⽆法访问,只是拥有。
  2. ⼦类可以拥有⾃⼰属性和⽅法,即⼦类可以对⽗类进⾏扩展。
  3. ⼦类可以⽤⾃⼰的⽅式实现⽗类的⽅法。
  • 多态
    所谓多态就是指程序中定义的引⽤变量所指向的具体类型和通过该引⽤变量发出的⽅法调⽤在编程时并不确定,⽽是在程序运⾏期间才确定,即⼀个引⽤变量到底会指向哪个类的实例对象,该引⽤变量发出的⽅法调⽤到底是哪个类中实现的⽅法,必须在由程序运⾏期间才能决定。

在 Java 中有两种形式可以实现多态:继承(多个⼦类对同⼀⽅法的重写)和接⼝(实现接⼝并覆盖接⼝中同⼀⽅法)。

第五题. 重载(overload)和重写(override)的区别?

⽅法的重载和重写都是实现多态的⽅式,区别在于前者实现的是编译时的多态性,⽽后者实现的是运⾏时的多态性。

  • 重载发⽣在⼀个类中,同名的⽅法如果有不同的参数列表(参数类型不同、参数个数不同或者⼆者都不同)则视为重载;
  • 重写发⽣在⼦类与⽗类之间,重写要求⼦类被重写⽅法与⽗类被重写⽅法有相同的返回类型,⽐⽗类被重写⽅法更好访问,不能⽐⽗类被重写⽅法声明更多的异常(⾥⽒代换原则)。

⽅法重载的规则:

  1. ⽅法名⼀致,参数列表中参数的顺序,类型,个数不同。
  2. 重载与⽅法的返回值⽆关,存在于⽗类和⼦类,同类中。
  3. 可以抛出不同的异常,可以有不同修饰符。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

504. Base 7(七进制数)

题目描述 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。 问题分析 按照二进制转换的方式进行转换即可 代码 char* convertToBase7(int num) {int count 0;char *x (char *)malloc(sizeof(char)*32);char *y (char *)malloc(sizeof(c…

HCIA--NAT实验

1. 划分网段,配置接口IP地址,内网启用OSPF协议,并配置一对一的NAT: AR1配置: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 10.1.1.1 24 [Huawei-GigabitEthernet0/0/0]int g0/0/1 [Huawei-GigabitEther…

Kafka 入门介绍

目录 一. 前言 二. 使用场景 三. 分布式的流平台 四. Kafka 的基本术语 4.1. 主题和日志 (Topic 和 Log) 4.2. 分布式(Distribution) 4.3. 异地数据同步技术(Geo-Replication) 4.4. 生产者&#xf…

svg 进阶

svg 进阶 svg 应用场景 绘制 icon绘制动画 svg viewport 和 viewBox viewport 是 svg 图像的可见区域 viewBox 是用于在画布上绘制 svg 图形的坐标系统 在一下案例中 svg中 width“500” height“200” 就是可视区域 比如你的svg是100X100但是你的可视区域只有20X20 那么他…

python-游戏篇-初级-超级画板

文章目录 开发环境要求运行方法PyCharmVScode 代码main.pytools.py 效果 开发环境要求 本系统的软件开发及运行环境具体如下。 操作系统:Windows 7、Windows 10。Python版本:Python 3.7.1。开发工具:PyCharm 2018。Python内置模块&#xff…

redis-sentinel(哨兵模式)

目录 1、哨兵简介:Redis Sentinel 2、作用 3、工作模式 4、主观下线和客观下线 5、配置哨兵模式 希望能够帮助到大家!!! 1、哨兵简介:Redis Sentinel Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在re…

【Maven】依赖、构建管理 继承与聚合 快速学习(3.6.3 )

文章目录 Maven是什么?一、Maven安装和配置本地配置文件设置idea配置本地maven 二、基于IDEA的Maven工程创建2.1 Maven工程GAVP属性2.2 Idea构建Maven JavaEE工程 三、Maven工程项目结构说明四、Maven核心功能依赖和构建管理4.1 依赖管理和配置4.2 依赖传递和冲突4.…

Python环境下基于最大离散重叠小波变换和支持向量回归的金融时间序列预测

金融时间序列具有非线性、高频性、随机性等特点,其波动情况不仅与当前股票市场、房地产市场、贸易市场等有强联动性,而且大幅度起伏对于其他市场有较大的影响和冲击。由于金融市场受多种因素影响且各影响因素间也存在一定复杂动态交互关系,导…

css的布局(BFC)

一、css中常规的定位方案 1、普通流 元素按照其在HTML中的先后位置自上而下布局。 行内元素水平排列,当行被占满后换行;块级元素则会被渲染为完整的一行。 所有元素默认都是普通流定位。 2、浮动 元素首先按照普通流的位置出现, 然后根据浮动…

Eclipse安装配置、卸载教程(Windows版)

Eclipse是一个开放源代码的集成开发环境(IDE),最初由IBM公司开发,现在由Eclipse基金会负责维护。它是一个跨平台的工具,可以用于开发多种编程语言,如Java、C/C、Python、PHP、Rust等。 Eclipse提供了一个可…

传输频宽是啥?对网速影响有多大?

频宽,即WIFI频道宽度,又称为WIFI信道宽度,是WiFi Channel width的缩写。从科学的定义来说,Wi-Fi频道宽度,是指Wi-Fi无线信号在频谱上所占用的带宽大小。它决定了Wi-Fi网络的数据传输速率和稳定性,一般有20M…

C++ 哈希表(unordered_map与unordered_set)

文章目录 unordered_map 与 unordered_set哈希表 (Hash Table)哈希函数哈希冲突模拟实现封装 补充:unordered_map 与 unordered_set 的使用 unordered_map 与 unordered_set 就和名字一样,这是 map、set 的无序版本(数据遍历出来是无序的&am…

STM32标准库移植FreeRTOS并测试

STM32标准库移植FreeRTOS并测试 最终现象一、移植①下载FreeRTOS源码②移植步骤 二、测试三、工程项目 最终现象 主函数中创建三个任务,优先级都相同,意味着每个任务执行固定事件之后就会轮到下一个任务运行,由于这个时间是很短的&#xff0…

免费文字转语音工具,一款优秀且永久免费的文字转语音工具,同时拥有多种类型男声女声,支持多国语言转换,支持语速调节和下载!

一、软件简介 该工具只有一个功能,就是将输入框内的纯文本内容转换为指定语言的音频,并且可以自由调节语速及音色(男声/女声),其内置了多种语音包,包含男声、女声、普通话、粤语以及方言,并且支…

Sodinokibi(REvil)勒索病毒最新变种,攻击Linux平台

前言 国外安全研究人员爆光了一个Linux平台上疑似Sodinokibi勒索病毒家族最新样本,如下所示: Sodinokibi(REvil)勒索病毒的详细分析以及资料可以参考笔者之前的一些文章,这款勒索病毒黑客组织此前一直以Windows平台为主要的攻击目标&#xf…

学习通考试怎么搜题找答案? #学习方法#微信#其他

大学生必备的做题、搜题神器,收录上万本教材辅助书籍,像什么高数、物理、计算机、外语等都有,资源十分丰富。 1.菜鸟教程 菜鸟教程是一个完全免费的编程学习软件。 它免费提供了HTML / CSS 、JavaScript 、服务端、移动端、XML 教程、http…

OpenEuler20.03LTS SP2 上安装 OpenGauss3.0.0 单机部署过程(二)

开始安装 OpenGauss 数据库 3.1.7 安装依赖包 (说明:如果可以联网,可以通过网络 yum 安装所需依赖包,既可以跳过本步骤。如果网络无法连通,请把本文档所在目录下的依赖包上传到服务器上,手工安装后,即无需通过网络进行 Yum 安装了): 上传:libaio-0.3.111-5.oe1.x8…

前后端通讯:前端调用后端接口的五种方式,优劣势和场景

Hi,我是贝格前端工场,专注前端开发8年了,前端始终绕不开的一个话题就是如何和后端交换数据(通讯),本文先从最基础的通讯方式讲起。 一、什么是前后端通讯 前后端通讯(Frontend-Backend Commun…

C语言----内存函数

内存函数主要用于动态分配和管理内存,它直接从指针的方位上进行操作,可以实现字节单位的操作。 其包含的头文件都是:string.h memcpy copy block of memory的缩写----拷贝内存块 格式: void *memcpy(void *dest, const void …

【RT-DETR进阶实战】利用RT-DETR进行过线统计(可用于人 、车过线统计)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 Hello,各位读者,最近会给大家发一些进阶实战的讲解,如何利用RT-DETR现有的一些功能进行一些实战, 让我们不仅会改进RT-DETR,也能够利用RT-DETR去做一些简单的小工作,后面我也会将这些功能利用PyQt或者是p…
最新文章