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

Java基础--面试专题

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

Java基础--面试专题

1.JDK、JRE、JVM三者的关系?

JVM是Java虚拟机,是虚拟出来的一个系统,我们常说的hotsport是JVM的一种实现;JRE是Java的最小运行环境,它包含JVM和系统类库;JDK是Java的最小开发环境,它包含JRE+编译运行工具。

2.Java的基本数据类型?

byte(1个字节)

short(2个字节)

char(2个字节)

int(4个字节)

long(8个字节)

double(8个字节)

float(4个字节)

boolean(1个字节)

3.在进行小数计算的时候,可以使用double吗?

 如果是对精确度要求不高的时候可以使用double进行小数计算,但如果是对精度要求高的时候则不能使用,例如在银行项目中对资金的一些计算,如果使用double可能会丢失精度,导致结果不正确。(我们可以使用JDK提供的BigDecimal进行计算)

4.什么是逻辑与和短路与(&和&&)? 

逻辑与和短路与都是需要整个判断都为true的时候表达式才为true,当某一个判断为false时逻辑与会继续执行后续判断,短路与则不会再继续执行了。(逻辑或和短路或也是如此) 

5.switch...case判断条件可以使用字符串类型吗?

在jdk1.7之前只能使用整形,在jdk1.7开始可以使用字符串类型

6.如何定义一个方法?

修饰词,返回值类型,方法名,参数列表,方法体 

7.你能说明方法中return的用法吗?

 无返回值方法时,return用于结束方法;有返回值方法时,return用于结束方法并返回值给调用方。

8.请你说一下面向对象的特征?那什么是封装、什么是继承、什么是多态?

封装、继承、多态;

我们把一些具有相同属性或行为的类抽取出来,就是封装;对类的封装,就是封装的对象的属性和行为;对方法的封装,封装的是具体的功能。

继承是为了代码的重用,Java中的继承是单继承的,一旦继承子类就具有父类+子类的属性和行为;

我们声明一个父类型的引用指向子类型的对象,就是多态。多态的主要表现形式就是重写和重载。

9.重写和重载有什么区别?

重写发生在父子类中,方法名称相同,参数列表相同;

重载发生在同一个类中,方法名称相同,参数列表不同;

10.抽象类和接口有什么区别?

接口只能包含常量和抽象方法,接口之间可以继承,接口可以被多实现

抽象类可以包含抽象方法,也可以包含非抽象方法,必须被继承,因为java是单继承的,所以在继承一个类时我觉得应该要慎重考虑。

11.Java中常用的循环方式有哪些?你能说说他们的区别吗? 

while循环、do...while循环、for循环,while循环可能一次都不执行、do...while循环至少会执行一次,for循环也有可能一次都不执行,但是我们最常用的循环方式。 

12.break和continue有什么区别? 

 break用于结束循环,continue用于跳过本次循环。

13.什么是嵌套循环?如何跳出嵌套循环?你觉得嵌套循多了有什么样的问题?

嵌套循环就是循环中套循环,外层循环控制行,内层循环控制列,运行规则遵循外层循环走一次,内层循环走所有次;当我们想跳出整个嵌套循环的时候,可以使用outer:标签来定义循环,使用break outer来跳出整个循环;嵌套循环我觉得一般需要控制在3层以内,如果嵌套太多可读性不好,并且可能存在设计问题。 

14.不写类的构造方法可以吗?如果写了类的有参构造方法,还会有缺省构造方法吗? 

不写类的构造方法,java编译器默认会有缺省无参构造方法;如果写了类的有参构造方法,不会生成缺省方法。

15.类的构造器可以被重写吗?那可以被重载吗?

类的构造器不可以被重写,但可以被重载。

16.基本类型画“==”号和引用类型画“==”号有什么区别?那引用类型要判断内容是否相等应该怎么办?

基本类型画“==”号是判断两个值是否相等;

引用类型画“==””号是判断两个对象在堆的内存地址是否相同;

如果引用类型需要判断内容是否相等,应该使用equals方法;

17.你能说说java中的this和super关键字吗?

java中的this代表的是指向对象本身的一个指针,super是发生在继承关系中的,代表的是指向父类对象的一个指针。

this.成员变量名,是访问本类的成员变量;如果参数super.成员变量名,是访问的父类的成员变量。

this.方法名,是访问本类的方法,我们在调用方法时,可以不写this,编译器会自动生成一个隐式的this;super.方法名,是访问父类的方法。

this(),是访问的本类的构造方法;super()是访问父类的构造方法,并且在初始化子类时,一定会先初始化父类。默认子类中的构造器会隐式的调用super()方法。

18.请你说一下java中的final关键字?

final关键字用于修饰变量、方法、类;

被final修饰的变量,不可以被重新赋值;

被final修饰的类不可被继承;

被final修饰的方法不能被重写。

19.请你说一下java中的static关键字?

static修饰的变量,称为静态变量,存在于方法区(元空间)中;通过类名.变量来访问,当所有对象数据都一样时使用。

static修饰的方法,称为静态方法,存在于方法区(元空间)中;通过类名.方法名来访问,当方法的操作仅与参数有关而与对象无关时使用,例如咱们常写的工具类当中的方法。

还有一种static静态块,在被类加载时自动执行,存在于方法区(元空间)中,常常用于加载静态资源,例如图片,音频,读取文档等。

20.什么是内部类?内部类分类有哪些?

在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类 ;

内部类可以分为四种:成员内部类、局部内部类、匿名内部类和静态内部类。

 

 

 

 

 

 

 

 

 

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

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

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