重载重写、封装继承多态、String、==和equlas、Integer

JAVA常见知识 @[TOP] 一,关于main方法的问题 1,main方法传参形式? String 数组,且不能改变 2,mian方法为啥是静态的? main方法一定要是静态的,如果不是jvm就要先实例化它的类。如果是非静态的,就只能作为普通方法使用,虽然可以编译成功,但是运行会失败。 3,main方法可以重载吗? 可以, 4,main方法可以被覆盖吗? 因为其实静态的,所以在jvm编译时静态方法会编译在一起,为... 阅读详情

(1)重载和重写的区别:

1.重载:方法名相同,参数类型、个数、顺序不同,返回值、访问修饰符可以不同;发生在编译时;

2.重写:方法名、参数列表必须相同;返回值、异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法为private修饰,则子类不能重写。

(2)封装继承多态

1.封装:对象属性私有化,同时提供外界访问方法。

2.继承:提高复用;子类继承父类,相当于子类对父类的扩展,子类用有父类的非private方法和属性;

3.多态:指程序中定义的引用变量所指向的具体类型、通过该引用对象调用的方法在运行时才能确定;同一个行为具有多个不同表现形式或形态的能力;分为运行时多态和编译时多态。

(3)多态存在的必要条件:

  • 继承
  • 重写
  • 父类引用指向子类对象
Parent p = new Child();
首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

(4)重写: 要想调用父类中被重写的方法,则必须使用关键字 super。

加上 final 关键字变成非虚函数

(5)String、StringBuffer、StringBuilder:

String:不可变,public final char value[]。

StringBuffer、StringBuilder继承自AbstractStringBuilder,其中也有char[] value(未用final修饰),可变;StringBuffer加了同步锁synchronized关键字,线程安全;而另一个反之。

操作少量数据---String
单线程操作字符字符串缓冲区操作大量数据----StringBuilder
多线程...大量数据-----StringBuffer

(6)Integer、int自动拆箱和装箱:见博客。

(7)==和equals的区别:

==:判断是否相等;基本数据类型比较值;引用数据类型比较内存地址;

equals:如果类未重写equals,,则等价于==;若已重写,则用重写的equals来实现自定义比较规则。

(8)抽象类和接口的区别:见博客。

(9)hashcode与equals的关系:

hasCode():获取哈希码,确定该对象在哈希表中的索引位置;存在于Object类下;HashSet检查是否重复时:先比较hashCode,若相同则调用equals方法来确定这两个对象是否真的相同,如果为真,则不会让其插入集合中。

1.两个相等的对象的hashCode码一定相同
2.hashCode码相同的两个对象不一定真的相同
3.两个相等的对象调用的equals方法都返回为true
4.equals重写,则hashCode方法一定要被重写
5.hashCode的默认行为是对堆上的对象产生独特值,若为重写,则始终不会相等。

(10)final修饰符:见博客。

(11)异常处理:

1.Throwable=Error+Exception
2.Exception=IOException+RuntimeException
3.IOException=EOFException+FileNotFoundException
4.RuntimeEception=...
getMessage:详细信息
toString:简要信息
getLocalizedException:返回本地定义的异常对象信息。若继承自Throwable的子类重写该方法,则可以自定义;若未重写,则返回与getMessage相同
printStackTrace:在控制台打印Throwable对象封装的异常信息

注:当在try块或catch块中遇到return,则finally块将在return前执行。

finally在四种情况不会执行:线程死亡+CPU关闭+finnaly中发生异常+前面的代码用了exit关闭程序

(12)两种输入方式。

 

 

OpenOCD入门到精通:第28章 综合实战:RISC-V 调试 RISC-V调试实战摘要 本文介绍了RISC-V调试规范及其在OpenOCD中的实现。主要内容包括: RISC-V Debug规范的两个版本(0.11和0.13)及其差异,OpenOCD通过自动检测DTMCS寄存器版本号选择对应驱动实现。 RISC-V调试架构的分层设计,包含DTM、Debug Module、Program Buffer等核心组件,以及三种内存访问方式(progbuf、sysbus、abstract)。 以GD32VF103为例的实战调试配置,包括硬件连接、OpenOCD配置文件编写和GDB 阅读详情

相关推荐

华为OD机试_2025 B卷_模拟消息队列(Python,100分)(附详细解题思路)

时间排序:确保事件处理顺序正确消费者管理:集合操作高效维护状态优先级实现:利用消费者ID自然排序边界处理:正确处理空消费者情况。

测试工程师的成长之路 1119

重写重载区别+Integer和int的区别

override(重写) 1、方法名、参数、返回值相同。子类重写父类的方法 2、父类方法不能定义为private 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存在于父类和子类之间。 5、方法被定义为final不能被重写。 overload(重载) 1、参数类型、个数、顺序至少有一个不相同。 2、不能重载只有返回值不同的方法名。 3、存在于一个类中。 Integer和...

weixin_43321444的博客 995

obisidian插件之【templater】模板的中文说明书

Templater 是一种模板语言,可让您将变量和函数结果插入到笔记中。它还允许您执行操作这些变量和函数的 JavaScript 代码。使用 Templater,您将能够创建强大的模板来自动执行手动任务。

m0_55795604的博客 1万+

Integer和类实现问题和重写++问题

Integer和类实现问题和重写++问题   这样为什么会报null指针异常呢,为什么不可以++呢        第二个问题:           Java代码    复制代码 public class User implements java.io.Serializable {       private Integer userId;      

北风网IT 917

Python与西门子PLC数据交互实战:基于Snap7的跨平台工业通信指南

本文详细介绍了如何使用Python和Snap7库实现与西门子PLC的数据交互。内容涵盖跨平台环境搭建、连接参数配置、数据读写实战及性能优化技巧,为工业自动化、数据采集和智能制造场景提供了一套轻量、灵活且高效的通信解决方案。

vim8coder的博客 285

CTF 命令执行绕过总结

tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示。或:rce-xor-or.php & rce-xor-or.py。# ls -t >shell 将输出输入到shell文件中。异或:rce-xor.php & rce-xor.py。%09(url传递)(cat%09flag.php)sh /flag 2>%261 //报错出文件内容。2、1使用空变量$*和$@,$x,${x}绕过。7、异或无符号(过滤0-9a-zA-Z)more:一页一页的显示档案内容。

jnszstmei的博客 1959

分析HttpServletRequest的sessionId不一致的原因

事情是这样的: 在接口①存入session,接着在接口②获取session,结果:同一个key,却打印为空!!! 为何不同? 一、从session的原理上来看: session的工作原理就是依靠cookie来做支撑,第一次使用request.getSession()时session被创建, 并且会为该session创建一个独一无二的sessionid存放到cookie中,然后发送会浏览器端, 浏览器端每次请求时,都会带着这个sessionid,服务器就会认识该sessionid, 知道了sessi

ଳxin的博客 4293

半导体材料仿真:二维材料仿真_(1).二维材料的基本概念

在半导体材料仿真领域,二维材料因其独特的物理和化学性质而受到广泛关注。二维材料,也称为二维纳米材料,是指在二维空间(通常是平面)上具有原子级厚度的材料。这些材料的厚度通常在几个纳米甚至单个原子层的范围内,使得它们在电子、光学、热学和机械性能上表现出与传统三维材料显著不同的特性。本节将详细介绍二维材料的基本概念,包括它们的分类、结构、性质以及在半导体材料仿真中的应用。

2401_87715305的博客 1545

作业提交与批改系统 [ 阶段一 ]

一、项目结构: 分层结构介绍: 二、配置文件: 此处有三个,但实际开发中不必这么多。但我这儿只是保留了一个前期学习的模板。 具体还要查阅资料。 三、需要修改的地方 1.一个.properties和一个.yml结尾的文件: 数据库连接的配置:表、连接账号、密码。 ...

ଳxin的博客 2180

英飞凌TC3xx--深度手撕HSM安全启动(三)--TC3xx HSM系统架构

TC3xx的HSM内核是一颗32位的ARM Cortex M3,主频可达100MHz,支持对称算法AES128、非对称算法PKC(Public Key Crypto) ECC256、Hash SHA2,以及TRNG(真随机数生成)。

认真搞搞汽车MCU 5746

用 SAP HANA SDA 访问 PostgreSQL:从可行性到落地实践的完整指引

摘要:SAP HANA可通过SDA/SDI技术访问PostgreSQL数据库,支持数据虚拟化和实时复制。主要实现路径包括:1)使用Camel JDBC适配器创建虚拟表进行联邦查询;2)利用PostgreSQL Log Reader适配器实现变更数据捕获(CDC)。实施时需配置Data Provisioning Agent,注意权限和网络要求。官方文档指出,通过SDI+DP Agent的方式比直接SDA连接更稳定可靠。虚拟化查询时,HANA会自动将SQL下推到PostgreSQL执行,优化性能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 256

通过URL解析下载资源

package com.tencent.UDP; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class Download { public static void main(String[] args) throws IOExcept.

ଳxin的博客 2024

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

注册拦截器-Springboot

一、引入: Spring MVC提供了AOP拦截器,而Springboot在拦截处理能力会更加精细、方便。 二、步骤: 1. 创建拦截器 实现 HandlerInterceptor 的一个接口 Myinterceptorl ,包含三个方法: 拦截器中的执行顺序: 注意: 只有preHandle方法返回true , 才会执行后面的。 但是,当有多个拦截器时, postHandler...

ଳxin的博客 1324

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Idea快捷键 之 Springboot 与 热部署

idea中查看方法参数;查看类、方法、属性注释 Ctrl+P:查看方法参数 Ctrl+Q:查看类、方法、属性注释

ଳxin的博客 891

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

添加全局数据-@ControllerAdvice

(1)@ControllerAdvice:是一个全局数据处理组件,要用到@ModelAttribute。 1. 在一个全局配置类的 userinfo方法中:定义一个Map集合, 设置数据,返回map。 @ModelAttribute里的value-“info”:指的是返回数据的 key ; 方法返回值是 返回数据的value。 此时:在任意请求的 Controller 中,通过方法...

ଳxin的博客 823

Calendar-当前时间获取

package com.tencent; import java.util.Calendar; public class TestAbstract { public static void main(String[] args) { Calendar c1 = Calendar.getInstance(); // 获得年份 int year = c1.get(Calendar.YEAR); // 获得月份 int .

ଳxin的博客 687

Jsp-(表单)文件上传

以前在用jsp写文件上传时,在后端获取表单值时,采用的是: 1.遍历,发现文件字段,就进行文件逻辑的处理; 2.发现非文件字段,同时用一个标记变量,每次+1,从而按顺序获得前台表单字段。 由于编码类型是 , 所以java后台接收form表单就不能直接用request.getParameter("xxx")来获取值和文件等。 需要遍历,根据字段名称name去匹配,取到相应的前台数据...

ଳxin的博客 645

请求参数预处理-@InitBinder

(1)我们有时会在 请求参数上绑定实体类,例如: 实体类: 接收两个实体类的数据: (2)问题 : 我们在参数传递时 , 如何 不弄 混淆; (3)解决方法:使用@InitBinder,配合@ControllerAdvice使用。 1.Controller层: 2.配置请求参数预处理的一个类; 定义两个方法: 第一个: 是处理@ModelAttribute("b")...

ଳxin的博客 641

IO流 之 文件上传

客户端: package com.tencent.network; import java.io.*; import java.net.InetAddress; import java.net.Socket; public class FileClient { public static void main(String[] args) { try { // 建立连接 Socket socket = new Socket(Inet.

ଳxin的博客 639

完美解决SmartUpload.jar包中文编码问题

链接:https://pan.baidu.com/s/1Oc02jHvFJw8ImOCpZ05cyQ 提取码:amv1 复制这段内容后打开百度网盘手机App,操作更方便哦

ଳxin的博客 618

单、多文件上传-后端

(1)upload(MultipartFile uploadFile, HttpServletRequest req) 函数: 1.uploadFile:文件名 2.HttpServletRequest 请求request 3. 获取当前日期: SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/"); String for...

ଳxin的博客 614

IntelliJ IDEA 如何设置代码提示模板

(1)打开IDEA 的 setting , 进入Live Template ,点右侧的 + 号 , 然后在下面编辑 代码。 (2) 点击OK 。 (3)右键 >> 点击 Change Context >>勾选java即可。 (4)测试 ok ...

ଳxin的博客 613

Java类的几种修饰符

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 default: 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 private: 在同一类内可见。使用对象:变量、方法。注意:不能修饰类(外部类) public: 对所有类可见。使用对象:类、接口、变量、方法 protected: 对同一包内的类和所有子类可见。使用对象:变量、方法。注意:不能修饰类(外部类)。 还会继续...

ଳxin的博客 559

阿里巴巴代码规范 * - 转载

https://blog.youkuaiyun.com/jv_kevin/article/details/88732616

ଳxin的博客 468
上一篇: 宜宾城市大数据有限公司 - 面试
下一篇: MVC中的5种设计模式
ଳxin
博客等级 码龄8年 83粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值