
java基础易错点归类
文章平均质量分 92
java基础易错点归类
HFish24
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重写equals时,为什么还要重写hashcode?
重写equals,为什么还要重写hashcode,大部分的复习资料都会这么写: “**如果两个对象相等,则 hashcode 一定也是相同的。两个对象相等,对两个对象分别调用 equals 方法都返回 true。但是,两个对象有相同的 hashcode 值,它们也不一定是相等的 。**因此,equals 方法被覆盖过,则 hashCode 方法也必须被覆盖。” 加粗部分当然是对的,但是和本问题毫无关系。加粗部分把hashmap中哈希冲突的理论讲了一下,就想当然的认为据此理论就可以得出,重写equals就必须原创 2020-07-29 07:52:41 · 2438 阅读 · 4 评论 -
Integer类的vlaueOf和parseInt的区别
最近在做题时,发现有的人喜欢用parseInt来获取String类型的数值。而我一般是用valueOf。然而这两种方法并不影响最终的结果。 调取源码后发现,valueOf()是这样的: public static Integer valueOf(String s) throws NumberFormatException { return Integer.valueOf(pars...原创 2020-04-08 21:39:40 · 215 阅读 · 0 评论 -
java的抽象类与接口的区别
首先抽象类对应的是子类,接口对应的实现。 也就是抽象类的子类继承了父类的全部特性,是一个更具体的父类。就像兔子类继承动物类。 而接口的实现则是具备有自己的特性,他和接口是两个不同的类,只是它实现了接口中所有的方法。 所以在概念上抽象类和接口的作用是完全不同的。所以抽象类与子类的关系是"is-a",而接口与实现的关系是"like a" 附: 意义 使用场景 举例 is-a A是B ...原创 2020-04-08 15:33:12 · 234 阅读 · 0 评论 -
java的值传递和引用传递
对于基本数据类型是值传递,对于引用数据类型是引用传递。 对于基本数据类型,变量和值都存储在栈中,用一个方法修改变量时,只是修改了变量的副本,而变量本身没有被改变。 对于引用数据类型,变量存在栈中,值存在堆中,变量通过指针指向值。用一个方法修改变量时,形参和实参的地址是相同的。所以改变形参的内容,实参也被改变。 当然也可以说java就是值传递,只不过对于引用数据类型来说,传递的值是地址值。 例题一:...原创 2020-04-05 09:54:43 · 192 阅读 · 0 评论 -
java中的类型转换
1.自动类型转换 容量小的数据类型自动转换成容量大的数据类型。 数据类型按从小到大排序为: byte->short/char->int->long->float->double 其中,byte占1个字节,8位;char和short占两个字节,16位;int占4个字节,32位;long和float占8个字节,64位;double占16字节,128位。 由于计算机存储的是...原创 2020-04-03 09:14:11 · 228 阅读 · 0 评论 -
对java静态方法和静态变量的总结
一、静态变量 1.静态变量随着类的加载而加载。加载位置是方法区。 2.静态变量早于对象出现,所以一般使用类直接调用。 3.静态变量被所有对象共享。 4.静态变量只能定义在类内,方法外。 二、静态方法 1.静态方法随着类的加载而加载。加载位置是方法区。 2.静态方法早于对象出现。 3.静态方法不可以调用非静态方法。可以理解为这是由于静态方法的加载早于非静态方法。 4.静态方法可以被继承,但是不可以被...原创 2020-03-02 22:49:36 · 407 阅读 · 0 评论