自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 重载跟重写的区别:

重写是子类覆盖父类的方法,子类的重写方法名、参数列表、返回类型必须和父类一致,并且重写方法不能使用比父类更严格的访问权限。重载发生在一个类中,在一个类中定义相同名字、但参数不同的多个方法。

2023-05-26 17:48:53 57 1

原创 重写equals为什么还要重写hashcode

2、在散列集合中,是使用hashcode来计算key应存储在hash表的索引,如果重写了equals而没有重写hashcode,会出现两个完全相同的两个对象,hashcode不同,计算出的索引不同,那么这些集合就乱套了。3、提高效率,当我们比较两个对象是否相同的时候,先比较hashcode是否相同,如果hashcode不相同肯定不是一个对象,如果hashcode不同再调用equals来进行比较,减少比价次数提高效率。1、为了保证一个原则,equals相同的两个对象hashcode必须相同。

2023-05-15 22:08:22 3777 4

原创 String类型直接赋值跟使用new的区别

方式二:先在堆中创建空间,维护了value属性,value指向常量池的abc空间,如果常量池没有"abc",创建后指向,如果有直接通过value指向。s2 最终指向的是堆中的空间地址,堆中维护的value指向的是常量池中的"abc"。方式一:先从常量池里面查看是否有"abc"数据空间,如果有,直接指向;如果没有则创建后指向。s1最终指向的是常量池里的空间地址。方式二:调用构造器 String s2 = new String ("abc")方式一:直接赋值 String s1 = "abc"

2023-05-11 16:39:30 166 1

原创 抽象类与接口的不同

通过接口可以将不同的类的对象看做是同一个类型,这样可以在不同的场合使用相同的代码来处理不同的对象,提高了代码的灵活性和可重用性。子类继承抽象类时,必须使用关键字extends,并且只能继承一个抽象类。抽象类可以包含非抽象方法的实现,子类可以直接使用这些方法,不必重新实现。抽象类提供了一些基本的方法实现,但又有一些方法需要子类实现,在减少代码重复的同时又保证了代码的灵活性。抽象类是一个类,可以包含属性,方法,抽象方法。子类实现接口时,必须使用关键字implements,可以实现多个接口。

2023-05-10 20:15:14 80

原创 == 与 equals的区别

2、equals方法:equals是Object类的方法,比较的是对象的地址是否相同。​ 拿String类举例来说:首先先比较两者地址是否相同,再比较类型是否相同,再比较长度,都相同的情况下进行逐字符比较,目的是在地址不相同的情况下比较字符串是否相同。​ String类与包装类(Byte、Short、Integer、Long、Float、Double、Character、Boolean)都重写了equals方法。1、“==” 运算符:如果比较的是基本数据类型,则比较的是存储的值;三、equals的重写。

2023-05-10 19:46:00 320 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除