这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试均可)

举报
酸菜鱼. 发表于 2022/07/09 11:36:36 2022/07/09
【摘要】 本文主要讲解了几个Java方面的知识,也是面试中经常问到的部分,非常适合刚入坑Java的小伙伴儿们学习以及准备面试的大佬巩固。如果对这方面感兴趣,那就快来看看吧

前言:
由于临近期末考试,考试也比较密集,所以断更了好多天。最近复习Java的基础,发现好多知识都淡忘了,因此写下这篇文章帮助自己更好地加深印象,并且希望能帮助到各位小伙伴儿😉😉。
本篇文章适合正在学习Java基础的小伙伴儿,以及正在找工作的大佬面试使用。如果文章有写的不准确或需要改进的地方,还请各位大佬不吝赐教💞💞💞
小威在此先感谢大家了😘😘😘
在这里插入图片描述

@[toc]

🍭方法重载和方法重写的区别

🍬方法重写

重写体现在继承关系上。 在Java中,子类继承父类,子类就会具备父类所以的特征,以及父类的方法和变量比如动物类有“叫”的方法,小狗小猫分别继承了动物类,重写方法时就可以分别将“叫”的方法改成“小狗汪汪叫”,“小猫喵喵叫”。
子类修改父类的方法,对方法进行扩展,丰富,这就叫做方法重写。
重写的方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为private则子类就不能重写该方法。

🍬方法重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数
方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法
方法重载发生在编译时。

Public int add(int a,int b)
Public String add(int a, int b)

上面的两个方法在编译时会发生错误,虽然两方法的方法名相同,返回值类型可以不同,但是两个方法中的参数a和b类型都一样,返回值类型却不同,所以会报错。

🍵String,StringBuffer,StringBuilder三者的区别

String是final修饰的,String的对象不可变,每次操作都会产生新的String对象,所以String修饰的常量是线程安全的。
StringBuffer和StringBuilder都是在原始创建的对象上操作的。StringBuffer和StringBuilder的相同点是他们都有公共父类AbstractStringBuilder抽象类。当调用StringBuffer和StringBuilder中的方法时,都会调用AbstractStringBuilder抽象类中的方法。
而StringBuffer和StringBuilder的不同点是StringBuffer是线程安全的,StringBuildel是线程不安全的,这是因为StringBuffer会在方法是添加synchronized锁

在性能方面,StringBuilder>StringBuffer>String
如果在使用时要改变字符串的内容,应使用前两个,在多线程使用共享变量时优先使用StringBuffer,因为其线程安全;在没有特殊情况下,优先使用StringBuilder,因为其效率高。

在这里插入图片描述

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。