欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

JAVA面试大全

时间:2023-07-11

JAVA基础题

1.java中有些基本类型?

一共有八个基本类型,分别为: 

byte、short、int、long、float、double、char、boolean

2.java为什么能够跨平台?

我们程序员写的代码不能直接被硬件执行,这是一个“中间码”也就是“字节码”,每个硬件的操作系统都有对应的jvm(虚拟机),jvm是不夸平台的他唯一的作用就是翻译字节码文件,jvm翻译后才能在对应的硬件操作系统中执行。

3.String是基本类型吗?

String不是基本类型

4.String被可以继承吗?

String是不可以被继承的,它是final类是最终的类所以不能被继承。

5.&和&&有什么区别?

&和&&都可以用作逻辑与运算符,表示的都是逻辑与,当运算符两边的表达式的结果都为true是,整个运算结果才为true,否则,只要有一方为false结果都为false。

&可以作为运算符,当&操作两边的表达式是不是Boolean类型时,&表示按位与操作

&&具有短路的功能,即如果第一个表达式为false,则不会在计算第二个表达式

6.switch语句里面的条件可不可以是byte、long、String使用的时候要注意什么?

switch里面的条件必须是能隐式转化成int类型的,所以String和long是不能的,jdk7以前是不能的,jdk8以后可以,不能使用long原因长时间转换为int类型会失去进度,导致数据不准确,byte是可以使用的,使用switch时应注意他的穿透,即每个case后要跟break。

7.short s1 = 1; s1 = s1+1;有什么错,s1 += 1又有什么错?

由于s1 + 1 运算时会自动提升表达式的类型,所以结果会制动转换为int类型,在赋值给short类型s1时将报告需要强制类型转换的错误信息。

由于s1 += 1 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以编译成功。

8.char为什么能存贮一个汉字?

char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了全世界所有的字体。

9.final修饰变量时,该变量是普通对象时,对象的值能改变吗?

final修饰的变量是可以应用不可以改变的,普通对象的值是可以改变的。

10.最有效的方法算出2乘于8的结果?

2<<3位运算时底层的运算,他直接操作的是二进制,所以效率是最快的。

11.静态变量和实例变量的区别?

静态变量也称为类变量,归全类共有,它依赖于某个对象,可通过类名直接访问,而实例变量必须依赖于某一个实例,只能通过对象才能访问。

12.面向对象的基本特征有哪些?

1.封装:封装是将同一类事物的特征和功能包装在一起,只对外公开需要调用的接口,能让你看到就看的到,不能让你看到就看不到。

封装的好处:1.实现专业的分工、2.减少代码的耦合。

2.继承:子类拥有父类一切非私有的属性和方法。

3.多态:同一个事务的不同的表现形式。

13.作用域public、private、protected,以及不写的区别?

1.public是公开的,类、包、子孙类以及其他包中都可用。

2.protected是受保护的,类,包、子孙类可用。

3.default是默认的,不用写就制动是默认的,它只在当前类,当前包可用。

4.private是私有的,只能在当前类中使用。

14.Overload重载和Override重写的区别?

重载:发生在同一个类之中,方法相同,参数列表不同,与返回值无关,与final无关,与修饰符无关,与异常无关。

重写:发生在子类和父类之间,方法名相同,参数列表相同,返回值相同,不能是final的方法,重写的方法不能有比父类方法更严格的修饰符权限,重写的方法所爬出的异常不能比父类的更大。

如果父类私有的方法,子类拥有方法签名相同的方法,子类不允许与重写父类的方法,该方法属于子类的新方法。

15.构造方法可以被重载或重写吗?

构造方法不能被继承,所以就不能别重写,但是可以重载。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。