当前位置: 首页 > news >正文

JavaSE面试

①.简述面向对象的三大特征

封装、继承、多态

1.封装:

        概念:

                是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

        好处 :

           ①便于修改,增强了代码的可维护性。

           ②隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。

           ③提高了安全性。

        实现:

            使用private修饰符实现属性私有化,并提供setter和getter方法

2.继承:

        概念:

                 继承是把多个类中相同的内容给提取出来定义到一个类中,这个类就叫做父类,又称超类或基类,而多个类就是子类

        好处:

             ①提高了代码的复用度,减少了代码的重复,提高软件开发效率

             ②继承的出现让类与类之间产生了关系,提供了多态的前提

        实现:

             通过关键字extends可以声明一个类是从另外一个类继承而来

3.多态

        概念:

                接口的多种不同实现方式,父类型引用指向子类型对象。
        好处:

             ①简化了代码

             ②提高了维护性和扩展性
        缺点:

              ①通过父类引用操作子类对象时,只能使用父类中已有的方法,不能操作子类特有的方法

        实现:

             ①存在继承关系

             ②存在方法重写

             ③父类型引用指向子类型对象
 

接口和抽象类的区别

    接口    抽象类
构造方法     无    有,用于子类实例化使用
抽象方法/具体方法    只有抽象方法    可以有抽象方法和具体方法
修饰符    只有private    四种修饰符都有(public 、缺省、protected、private)
成员变量    只能是常量(省略 public static final )    可以是变量,也可以是常量
 

具体方法:静态方法、默认方法

1.为什么要引入静态方法?

        ​ 解决接口的修改与现有的实现不兼容问题。因为以前要加入抽象方法时,抽象类必须要实现方法,加入默认方法后,后续实现的接口,对他们没有多大影响。

2.为什么要引入默认方法?

​         引进静态方法之后,可以通过接口名来调用,不用通过new实现类了。
 

重写
        1.发生在子类中

        2.方法名、形参列表、返回类型都相同,权限修饰符的范围要大于父类方法,声明异常范围要小于父类方法

        3.子类和父类再同一个包中,子类可以重写父类所有的方法。除了声明为private和final的方法和构造方法
 

重载
        1.发生在同一类中

        2.方法名相同,参数列表、返回类型、权限修饰符可以不同
 基本类型和封装类型

包装类
          直接能够将简单类型的变量。在执行变量类型相互转换时,会使用大量包装类

基本类型 VS 包装类型

基本类型    包装类型
声明方式不同    不需要new来创建    需要通过new的关键字的方式来创建
存储方式及位置不同    是直接存储变量的值保存在堆栈中能高效的存取    需要通过应用指向实例,具体的实例保存在堆中
初始值不同    视具体值而定    初始值为null
使用方式不同        eg:集合类合作使用时只能使用包装类型


基本类型和包装类型相互转换

        基本类型--->包装类型:   通过new Integer(6);  

        包装类型--->基本类型:   通过parseInt(); 

原文链接:https://blog.csdn.net/qq_44419734/article/details/131348078

  •  ==

        1.如果比较的对象时基本类型,则比较数值是否相等

        2.如果比较的是应用数据类型,则比较的对象是内存地址是否相等

  • equals

        用来比较两个对象的内容是否相等

String 类能被继承吗,为什么

String 是一个 final 修饰的类,被final 修饰类不可以被继承

原因: 
       1. 效率性,String 类作为最常用的类之一,禁止被继承和重写,可以提高效率
        2.安全性,String 类中有很多调用底层✁本地方法,调用了操作系统的API,如果方法可以重写,可能被植入恶意代码,破坏程序 

                        
原文链接:https://blog.csdn.net/qq_44419734/article/details/131348078

final:
        ​ 可以修饰全局变量,表示此变量必须赋初值,且后期不可更改。

​         可以修饰局部变量,表示该局部变量可以不赋初值,一旦赋值后不可更改。

​         可以修饰类,表示该类不可被继承

​         可以修饰方法,表示该方法,不可以被重写
 

finally:
​         通常与try-catch联用,声明在finally的语句代码块一定会被执行。

        ​ 一般用于资源释放。
 

finalize:
​         是垃圾回收机制中使用到的方法。
 

相关文章:

JavaSE面试

①.简述面向对象的三大特征 封装、继承、多态 1.封装: 概念: 是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。 好处 : ①便于修改,增强了代…...

安全漏洞扫描工具

常用的安全漏洞扫描工具涵盖了网络扫描、Web应用扫描、系统漏洞检测等多个方面,以下是一些业界广泛认可和常用的工具: Nmap - 网络映射和安全审计工具,用于发现网络上的主机和服务,识别操作系统,枚举开放端口&#xff…...

前端开发部署:Visual Studio Code + vue

〇 说明 本教程全部采用默认安装路径,因为在进行自定义路径安装的时候,需要配置各种环境变量,在这个配置过程中,可能出现各种很混乱的问题。 一 安装Node.js 1 下载https://nodejs.org/en 2 按照默认NEXT执行 C:\Program Files…...

基于Sentry+OpenTelemetry实现微服务前后端全链路监控

文章目录 前⾔背景技术⽅案Sentry私有化部署部署环境准备 项目集成前端后端agent探针集成sentry sdk集成增强探针为⽇志注⼊TraceID异常处理SDK⾃定义开发sentry sdk⾃定义开发⾃定义SentryEvent注⼊otel追踪信息⾃定义全局异常上报issue事件新增动态过滤功能 Java Agent Exten…...

jquery.datetimepicker无法添加清除按钮的问题

项目场景: 自从决定用现有新技术实现CRM老项目起,就开始了我的折腾之路,最近一直在折腾前端页面,不像后端Java,写的有问题运行会报错,大多数报错一搜就能找到解决方案,前端这个倒好&#xff0c…...

Qt中解决编译中文乱码和编译失败的问题

解决方法 1.使用#pragma execution_character_set(“utf-8”) QT5中在cpp中使用#pragma execution_character_set(“utf-8”)解决中文乱码,不过这里要求该源代码必须保存成带Bom的utf-8格式,这也是有些在网上下载的代码,加上这句源代码后还…...

Android状态栏适配问题

Android状态栏适配是一个老生常谈的问题,那么我又拿出来讲了,因为这个东西确实太重要了,基本上每个项目都用得到。状态栏总共有几种形态。第一,让状态栏颜色跟应用主色调一致,布局内容不占有状态栏的位置。第二&#x…...

如何为色盲适配图形用户界面

首发日期 2024-05-25, 以下为原文内容: 答案很简单: 把彩色去掉, 测试. 色盲, 正式名称 色觉异常. 众所周知, 色盲分不清颜色. 如果用户界面设计的不合理, 比如不同项目只使用颜色区分, 而没有形状区分, 那么色盲使用起来就会非常难受, 甚至无法使用. 色盲中最严重的情况称为…...

【爬虫实战项目一】Python爬取豆瓣电影榜单数据

目录 一、环境准备 二、编写代码 2.1 分页分析 2.2 编码 一、环境准备 安装requests和lxml pip install requests pip install lxml 二、编写代码 2.1 分页分析 编写代码前我们先看看榜单的url 我们假如要爬取五页的数据,那么五个url分别是: htt…...

AI-知识库搭建(一)腾讯云向量数据库使用

一、AI知识库 将已知的问答知识,问题和答案转变成向量存储在向量数据库,在查找答案时,输入问题,将问题向量化,匹配向量库的问题,将向量相似度最高的问题筛选出来,将答案提交。 二、腾讯云向量数…...

AI数据分析:根据Excel表格数据绘制柱形图

工作任务:将Excel文件中2013年至2019年间线上图书的销售额,以条形图的形式呈现,每个条形的高度代表相应年份的销售额,同时在每个条形上方标注具体的销售额数值 在deepseek中输入提示词: 你是一个Python编程专家&#…...

基于协调过滤算法商品推荐系统的设计

管理员账户功能包括:系统首页,个人中心,商品管理,论坛管理,商品资讯管理 前台账户功能包括:系统首页,个人中心,论坛,商品资讯,商家,商品 开发系统…...

CS1061 “HtmlHelper”未包含“Partial”的定义,并且找不到可接受第一个“HtmlHelper”类型参数的可访问扩展方法“Partial”

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 CS1061 “HtmlHelper”未包含“Partial”的定义,并且找不到可接受第一个“HtmlHelper”类型参数的可访问扩展方法“Partial”(是否缺少 using 指令或程序集引用?) 14_Views_Message_E…...

大数据运维学习笔记之flink standalone flink on yarn集群搭建 —— 筑梦之路

...

在知识的海洋中航行:问题的演变与智慧的追求

在信息技术迅猛发展的今天,互联网和人工智能已成为我们生活中不可或缺的一部分。它们像是一座座灯塔,照亮了知识的海洋,使得曾经难以触及的知识变得触手可及。随着这些技术的普及,越来越多的问题能够迅速得到答案。然而&#xff0…...

splice()、slice()、split()三种方法的区别

slice slice() 方法返回一个新的数组对象,这一对象是一个由 start 和 end 决定的原数组的浅拷贝(包括 start,不包括 end),其中 start 和 end 代表了数组元素的索引。原始数组不会被改变。 const animals [ant, bison…...

iOS 之homebrew ruby cocoapods 安装

cocoapods安装需要ruby,更新ruby需要rvm,下载rvm需要gpg,下载gpg需要homebrew,所以安装顺序是homebrew->gpg->rvm->ruby-cocoapods Rvm 官网: RVM: Ruby Version Manager - RVM Ruby Version Manager - Docum…...

【栈】2751. 机器人碰撞

本文涉及知识点 栈 LeetCode2751. 机器人碰撞 现有 n 个机器人,编号从 1 开始,每个机器人包含在路线上的位置、健康度和移动方向。 给你下标从 0 开始的两个整数数组 positions、healths 和一个字符串 directions(directions[i] 为 ‘L’ …...

贪心算法06(leetcode738,968)

参考资料&#xff1a; https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html 738. 单调递增的数字 题目描述&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。…...

cve_2022_0543-redis沙盒漏洞复现 vulfocus

1. 原理 该漏洞的存在是因为Debian/Ubuntu中的Lua库是作为动态库提供的。自动填充了一个package变量&#xff0c;该变量又允许访问任意 Lua 功能。 2.复现 我们可以尝试payload&#xff1a; eval local io_l package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so…...

浅解Reids持久化

Reids持久化 RDB redis的存储方式&#xff1a; rdb文件都是二进制&#xff0c;很小&#xff0c;里面存的是数据 实现方式 redis-cli链接到redis服务端 使用save命令 注&#xff1a;不推荐 因为save命令是直接写到磁盘里面&#xff0c;速度特别慢&#xff0c;一般都是redis…...

Java24:会话管理 过滤器 监听器

一 会话管理 1.cookie 是一种客户端会话技术&#xff0c;cookie由服务端产生&#xff0c;它是服务器存放在浏览器的一小份数据&#xff0c;浏览器 以后每次访问服务器的时候都会将这小份的数据带到服务器去。 //创建cookie对象 Cookie cookie1new Cookie("…...

web前端电影简介标签:深度解析与创意应用

web前端电影简介标签&#xff1a;深度解析与创意应用 在web前端开发中&#xff0c;电影简介标签的设计与实现是一项既具挑战性又充满创意的任务。这些标签不仅需要准确传达电影的核心信息&#xff0c;还要通过精美的设计和交互效果吸引用户的眼球。本文将从四个方面、五个方面…...

Java面向对象-方法的重写、super

Java面向对象-方法的重写、super 一、方法的重写二、super关键字1、super可以省略2、super不可以省略3、super修饰构造器4、继承条件下构造方法的执行过程 一、方法的重写 1、发生在子类和父类中&#xff0c;当子类对父类提供的方法不满意的时候&#xff0c;要对父类的方法进行…...

解锁ChatGPT:从GPT-2实践入手解密ChatGPT

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三连支…...

20240605解决飞凌的OK3588-C的核心板刷机原厂buildroot不能连接ADB的问题

20240605解决飞凌的OK3588-C的核心板刷机原厂buildroot不能连接ADB的问题 2024/6/5 13:53 rootrootrootroot-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh --help rootrootrootroot-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh lun…...

c++手写的bitset

支持stl bitset 类似的api #include <iostream> #include <vector> #include <climits> #include <utility> #include <stdexcept> #include <iterator>using namespace std;const int W 64;class Bitset { private:vector<unsigned …...

【机器学习系列】深入理解集成学习:从Bagging到Boosting

目录 一、集成方法的一般思想 二、集成方法的基本原理 三、构建集成分类器的方法 常见的有装袋&#xff08;Bagging&#xff09;和提升&#xff08;Boosting&#xff09;两种方法 方法1 &#xff1a;装袋&#xff08;Bagging&#xff09; Bagging原理如下图&#xff1a; …...

用FFMPEG对YUV序列进行编辑的笔记

还是单独开一个吧 每次找挺烦的 播放YUV序列 ffmpeg -f rawvideo -pix_fmt yuv420p -s 3840x2160 -i "Wood.yuv" -vf "scale1280x720" -c:v rawvideo -pix_fmt yuv420p -f sdl "Wood"4K序列转720P ffmpeg -f rawvideo -pix_fmt yuv420p -s 38…...

智能投顾:重塑金融理财市场,引领行业新潮流

一、引言 在数字化浪潮的推动下,金融行业正经历着前所未有的变革。其中,智能投顾作为金融科技的重要分支,以其高效、便捷和个性化的服务,逐渐成为金融理财市场的新宠。本文旨在探讨智能投顾如何引领金融理财新潮流,通过丰富的案例及解决方案,展示其独特的魅力和价值。 二…...

可以上传自己做的视频的网站/seo搜索引擎优化总结报告

当前位置:我的异常网 J2SE java 日历&#xff1f;解决方案java 日历&#xff1f;解决方案www.myexceptions.net 网友分享于&#xff1a;2013-01-03 浏览&#xff1a;44次java 日历&#xff1f;最近在努力写个日历代码&#xff0c;总遇到很多问题/我没调用日期类&#xff0c;…...

如何用手机做钓鱼网站/五种常用的网站推广方法

前言 今年上半年其实就已经有了换工作的想法,奈何疫情原因和岗位缩减&#xff0c;加之信心不足&#xff0c;到六月底投递了百度的Android岗位,本以为像我这种非211、985没工作经验的渣渣只能被直接pass,结果却意外的收到了电话,真是受宠若惊.经过电面,技术三面,然后就是等通知…...

wordpress建站企业站/关键词有哪几种

1.查询一张表&#xff1a;select * from 表名&#xff1b;2.查询指定字段&#xff1a;select 字段1&#xff0c;字段2&#xff0c;字段3....from 表名&#xff1b;3.where条件查询&#xff1a;select 字段1&#xff0c;字段2&#xff0c;字段3 frome 表名 where 条件表达式&…...

网站建设委托合同/体验营销是什么

前言 目前&#xff0c;软件测试已在IT行业获得更多的认可和接受&#xff0c;越来越多的人进入到这个行业。但今天的软件测试已今非昔比&#xff0c;主要体现在这个行业对从业人员的要求越来越高&#xff0c;特别是性能测试领域&#xff0c;性能测试方案制定、测试脚本开发与增…...

做收费类网站站长/一站式推广平台

来源&#xff1a;Lin_R 链接&#xff1a;https://segmentfault.com/a/1190000020956724背景我们负责的一个业务平台&#xff0c;有次在发现设置页面的加载特别特别地慢&#xff0c;简直就是令人发指让用户等待 36s 肯定是不可能的&#xff0c;于是我们就要开启优化之旅了。投…...

沙井做网站/发外链比较好的平台

一.命令行模式安装图形界面 检查已安装的组   yum grouplist 或者 yum grouplist | more 分页查看安装Gnone   yum groupinstall "GNOME Desktop" 语言设置 localectl status #查看当前语言 locale #查看当前域 localectl list-locales|grep CN #查看当前可用汉…...