ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java基础面试题一

2021-09-11 17:33:29  阅读:124  来源: 互联网

标签:面试题 java String 是否 abstract 基础 接口 finally return


文章目录

java基础面试题一

Overload 和 Override 的区别;Overloaded 的方法是否可以改变返回值的类型

Overload 是重载,Override 是重写。很基础的知识点必会。

Overloaded 的方法的参数列表不一样,它们的返回类型不一定不一样。

如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Overload? 这是不行的。

Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别

set元素是不能重复的,可以用equals()来判断!

第二个问题:主要看你对==equals的了解。

给我一个你最常见到的runtime exception

这种题就需要背了,没啥可理解的。常写代码谁能记住,我反正是记不住。就跟你手写代码一样,不是一般人那。

空指针异常 NullPointerException
数组越界异常 IndexOutOfBoundsException
类转换异常 ClassCaseException
向数组中存放与声明类型不兼容对象异常 ArrayStoreException
Io操作异常 BufferOverFlowException

error 和 exception 有什么区别

Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型得实例才可以被抛出 throw 捕获 try-catch 。

Exception 是程序中正常运行中,可以预料的异常情况,可以被捕获,进行处理的异常。

Error 程序导致程序处于非正常的不可恢复状态。不便于捕获。

List, Set,Map是否继承自 Collection 接口?

List 与 Set 继承 Collection 接口;Map 没有继承自 Collection 接口;

abstract class 和 interface 有什么区别?

abstract class 和 interface 都不能实例化。

abstract class 拥有自己的成员变量,interface 默认 static final 修饰

abstract class 方法可以私有化,非抽象方法,必须实现;interface 不能有私有的,默认是 public abstract

实现方式不同:abstract class 需要 extends,interface 要用 implement

abstract 的 method 是否可同时是static?是否可同时是native?是否可同时是synchronized?

abstract 的方法可以同时是 static !

abstract 的方法不能同时是native的!

native本身就和abstract冲突,他们都是方法的声明,只是一个把方法实现移交给子类,另一个是移交给本地操作系统。如果同时出现,就相当于既把实现移交给子类,又把实现移交给本地操作系统,那到底谁来实现具体方法呢!

abstract 的 方法可同时是 synchronized

接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)

接口: 接口是一种约束形式,其中只包括成员定义,不包含成员的实现内容。

接口可以继承(extends)接口。

抽象类可以实现(implements)接口。

抽象类可继承(extends)实体类,(但前提是实体类必须有明确的构造函数)。

构造器 Constructor 是否可被重写(Override)

构造器Constructor不能被继承,因此不能被重写(Override),在本类当中可以被重载(Overload)

如果父类自定义了有参构造函数,则子类无论定义无参,有参构造函数,都会报错。正确的做法是在子类的构造方法中添上super(参数),以表明子类构造之前先构造父类,而这句话必须放在第一句,否则报"Constructor call must be the first statement in a constructor"的错误。

是否可以继承 String 类?

不能继承 String 类

原因是 String 类 被 final 修饰的

try{} 里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在 return前还是后

Try{}里有一个return语句,那么紧跟在这个try后面的finally{}里的code会执行的。

finally 语句总会执行,除非遇到一些特殊情况,如System.exit(0)

return语句并不一定就是结束一段程序,当它和finally一起使用但finally语句中无return时会先等finally语句执行完成后再返回值。

当finally语句中有return语句时会直接返回finally中return的语句

用最有效率的方法算出2乘以8等於几

2 <<3

System.out.println(2 << 3);		//16	2*2^3
System.out.println(1 << 2);		//4		1*2^2

两个对象值相同(x.equals(y)== true),但却可有不同的hash code,这句话对不对

不对,如果两个对象x 和 y 满足 x.equals(y) == true,它们的哈希码(hashCode)应当相同。

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递

我先不思考题,首先 java 就属于值传递

swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上

switch和case语句的参数是int、short、char或者byte。

注意,对于精度比int大的类型,比如long、float、double,不会自动转换为int,如果想使用,就必须强转为int,如(int)float。

​ jdk1.7后,整型,枚举类型,boolean,字符串都可以。jdk1.7并没有新的指令俩处理switch String,而是通过调用switch中的String.hashCode,将String转为int从而进行判断。

参考博客:

标签:面试题,java,String,是否,abstract,基础,接口,finally,return
来源: https://blog.csdn.net/weixin_53349339/article/details/120240574

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有