栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java常见面试题(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java常见面试题(一)

1.什么浅复制

浅复制指的是,在数组复制时,对于基本类型的数组,复制的是数组元素的值,对于引用类型数组的赋值,复制的是他们的地址,这个数组复制的部分,他们的元素都指向同一个地址,两者无论哪一个对数组进行操作的,对另一个数组元素都有影响

2. &和&&区别

这两个都为与运算符,与运算只有两边都为真,最后结果才为真
&&:例如A&B,假如A是false,那么无论B是真还是假最后结果都为假
所以&&当第一个(A)为false时,B就不执行了,返回结果false
&:无论A是真还是假,B都要走一边
这就是&和&&的区别

3.==和equals的区别

1.==
A:两边为基本运算符时,比较的为两个的值
B:两边为引用运算符时,比较的为两个的地址
2.equals
equals()是Object类的一个方法,所以每个类都会有equals()方法
不重写时:比较的为两个地址
重写时:大部分比较的是对象的属性,也可以按需重写equals()方法
注意:当重写了equals()方法时,也要对hashcode()方法进行重写
因为equals()和hashcode()都是通过地址比较出来的,如果重写了equals()方法,会导致和hashcode()产生的结果不统一,违反了协议

4.重载和重写的区别

重载:重载是一个类中两个方法方法名相同,但方法传递的参数不同
(A:参数类型不同B:参数个数不同C:参数的类型顺序不同),通过方法传递的参数走不同的方法体,这就是重载
重写:重写一般用在A:继承B:接口
A:当一个类继承一个父类时,子类就拥有了父类非私有的方法和属性,但子类不想走父类方法,在子类中重新写一个和父类方法名,返回参数相同的方法,这就是重写
注意:子类重写时,子类的权限修饰符一定要>=父类的权限修饰符

5.抽象类和接口的区别
  1. 抽象类是个类接口不是个类
  2. 抽象可以有构造方法,接口没有构造方法
  3. 抽象类可以有变量,非抽象方法,抽象方法等等,接口中只能有常量和抽象方法
  4. 一个类只能继承一个抽象类,一个类可以实现多个接口
  5. 抽象类和接口不能用final修饰,因为final修饰的类不能继承那就失去了意义
6 .String a="abc"和String a=new String(“abc”);的区别

String a=“abc”:是在栈内存声明一个String类型的a,然后在常量池创建一个字符串"abc",指向a
String a=new String(“abc”):是在栈内存中声明一个a,然后在堆内存中创个一个String类型的"abc",将堆内存中的这个地址指向栈内存中的a

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/423881.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号