Lang:简体中文

java常用的面试题

日期:2025-09-08 / 来源:面试宝典

涵盖基础、面向对象等多方面考点

在java面试中,有很多常见问题会被问到,下面为你详细介绍。

基础语法相关问题

基础语法是java的根基,面试中常考的有数据类型和变量。比如,问你java有哪些基本数据类型,答案是8种,包括byte、short、int、long、float、double、char、boolean。像定义一个整数变量,代码可以写成“int num = 10;”。还有运算符的使用,例如“++”和“--”运算符,“int a = 5; int b = ++a;”这里b的值是6,因为“++”在前是先自增再赋值。

面向对象特性问题

面向对象是java的核心特性,封装、继承和多态是重点。封装是把数据和操作数据的方法绑定起来,隐藏内部实现细节。比如一个学生类,把学生的姓名、年龄等属性封装起来,通过get和set方法来访问和修改。继承是子类继承父类的属性和方法,例如定义一个动物类,再定义一个猫类继承动物类,猫类就可以使用动物类的一些方法。多态则是同一个方法可以根据对象的不同表现出不同的行为。例如有一个父类shape(形状),有子类circle(圆形)和rectangle(矩形),它们都重写了父类的draw方法,当用父类引用指向子类对象时,调用draw方法会根据实际对象调用不同的实现。

集合框架问题

集合框架在java中非常重要。常见问题有list、set和map的区别。list是有序可重复的,像arraylist和linkedlist都实现了list接口。set是无序不可重复的,例如hashset。map是键值对形式存储,键不能重复,像hashmap。例如,要存储一组学生的成绩,可以用map,键是学生姓名,值是成绩。代码示例:“map scoremap = new hashmap<>(); scoremap.put("张三", 80);”。

异常处理问题

异常处理能保证程序的健壮性。面试会问异常的分类,主要分为受检查异常和运行时异常。受检查异常必须在代码中进行处理,否则编译不通过,比如ioexception。运行时异常可以不处理,像nullpointerexception。例如,读取文件时可能会抛出ioexception,代码如下:“try { fileinputstream fis = new fileinputstream("test.txt"); } catch (ioexception e) { e.printstacktrace(); }”。

多线程问题

多线程能提高程序的性能。常考的有创建线程的方式,主要有继承thread类和实现runnable接口。继承thread类示例:“class mythread extends thread { public void run() { system.out.println("线程运行"); } } mythread thread = new mythread(); thread.start();”。实现runnable接口示例:“class myrunnable implements runnable { public void run() { system.out.println("线程运行"); } } thread thread = new thread(new myrunnable()); thread.start();”。还会问到线程同步问题,比如使用synchronized关键字来保证线程安全。

以下为推荐内容

微信二维码