面试题
王家五哥
这个作者很懒,什么都没留下…
展开
-
重载(Overload)和重写(Override)的区别?
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载:一个类中有多个同名的方法,但是具有有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)。重写:发生在子类与父类之间,子类对父类的方法进行重写,参数都不能改变,返回值类型可以不相同,但是必须是父类返回值的派生类。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。...原创 2022-06-20 18:07:31 · 323 阅读 · 0 评论 -
并发和并行有什么区别?
并发:两个或多个事件在同一时间间隔发生。并行:两个或者多个事件在同一时刻发生。并行是真正意义上,同一时刻做多件事情,而并发在同一时刻只会做一件事件,只是可以将时间切碎,交替做多件事情。网上有个例子挺形象的:你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。...原创 2022-06-20 18:05:14 · 260 阅读 · 0 评论 -
== 和 equals 的区别是什么?
==:运算符,用于比较基础类型变量和引用类型变量。对于基础类型变量,比较的变量保存的值是否相同,类型不一定要相同。对于引用类型变量,比较的是两个对象的地址是否相同。equals:Object 类中定义的方法,通常用于比较两个对象的值是否相等。equals 在 Object 方法中其实等同于 ==,但是在实际的使用中,equals 通常被重写用于比较两个对象的值是否相同。不对。hashCode() 和 equals() 之间的关系如下:当有 a.equals(b) == true 时,则 a原创 2022-06-20 18:03:26 · 147 阅读 · 0 评论 -
String s = new String(“xyz“) 创建了几个字符串对象?
一个或两个。如果字符串常量池已经有“xyz”,则是一个;否则,两个。当字符创常量池没有 “xyz”,此时会创建如下两个对象:一个是字符串字面量 "xyz" 所对应的、驻留(intern)在一个全局共享的字符串常量池中的实例,此时该实例也是在堆中,字符串常量池只放引用。另一个是通过 new String() 创建并初始化的,内容与"xyz"相同的实例,也是在堆中。......原创 2022-06-20 18:00:20 · 1997 阅读 · 0 评论 -
java 基础Integer
答案是:false,true。执行 Integer a = 128,相当于执行:Integer a = Integer.valueOf(128),基本类型自动转换为包装类的过程称为自动装箱(autoboxing)。在 Integer 中引入了 IntegerCache 来缓存一定范围的值,IntegerCache 默认情况下范围为:-128~127。本题中的 127 命中了 IntegerCache,所以 c 和 d 是相同对象,而 128 则没有命中,所以 a 和 b 是不同对象。但是这个缓存范围时原创 2022-06-20 17:55:05 · 176 阅读 · 0 评论