![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java面试
爱吃小香葱
你的技术好强
展开
-
【Java面试】基本数据类型和包装类的区别,如何选择?
面试官:你说一下基本数据类型和包装类有什么区别吧,什么时候用包装类什么时候用基本数据类型。 好的, 最本质的区别:基本数据类型不是对象,包装类型是对象 存储位置不同:基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用 基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null; 包装类的对象可以放进集合中而基本数据类型不可以 阿里巴巴开发手册: 【强制】关于基本数据类型与包装数据类型的使用标准如下: 1) 所有的POJO类属性必须使用包装数据类原创 2021-10-18 16:11:06 · 962 阅读 · 0 评论 -
【Java面试】Java中方法参数是值传递还是引用传递?
Java 到底是值传递还是引用传递? - Hollis的回答 - 知乎 Java中方法调用时是值传递还是引用传递? 两篇文章结合着看,清晰明了~ 值传递和引用传递的概念先搞清楚: 值传递:是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。 引用传递:是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。 总结 java中方法参数是值传递,不存在引用传递。 如果参数是基本类型,传递的是基本类型的字面量值的拷贝。 如果原创 2021-10-17 22:29:49 · 630 阅读 · 0 评论 -
【Java面试】“你重写过 hashCode() 和 equals() 吗?为什么重写equals时 必须重写hashCode方法?”
**Java规范规定的是如果两个对象用equals进行比较,结果为true的话,那么这两个对象的hashCode方法的返回值必须相等。**并没有规定两个对象不相等,即equals返回false,hashCode方法的返回值必须不相等。 所以为什么重写equals必须重写hashCode?因为要遵守Java的规范啊! 我们重写了equals,变成了按对象的内容判断两个对象是否相等,如果不重写hashCode,则是调用的本地方法,这个hashCode本地方法(即Object类中的那个hashCode方法)只能保原创 2021-10-17 20:33:26 · 442 阅读 · 0 评论 -
【Java面试】说一下成员变量和局部变量的区别?
定义位置 成员变量(又叫实例变量):类内部,方法外部 局部变量:方法内部 作用域 成员变量:针对整个类有效。 局部变量:方法内部 存储位置 成员变量:堆。 局部变量:方法栈 生命周期 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:当方法调用完,或者语句结束后,就自动释放。 初始值 成员变量:有默认初始值。 局部变量:没有默认初始值,使用前必须赋值。 ...原创 2021-10-17 17:54:55 · 55 阅读 · 0 评论 -
【Java面试】谈一下你对面向对象的理解?
面试官:谈一下你对面向对象的理解? 我:好的,首先面向对象编程(OOP,Object Oriented Programming)是一种编程思想也可以说是一种编程架构,它指导我们在进行程序设计时的设计原则。谈面向对象,我们可以和面向过程结合着来看:面向过程编程,强调的是过程,比如我们要设计一个把大象放入冰箱的程序,面向过程要求我们思考这个程序的执行过程,然后实现这个过程中的每一步,而面向对象强调的是对象,以面向对象的思想解决这个问题时,我们思考的是这个程序中可以抽象出哪些对象,各个对象有哪些特征(属性和方法)原创 2021-10-17 15:19:12 · 319 阅读 · 0 评论