1 java的平台版本 : "javaME(微型版)、javaSE(标准版)、javaEE(企业版)"
2 java的特点: 简单性、多线程、安全性、跨平台性、健壮性、动态性、面向对象、分布式
3 jdk安装环境变量配置: 下载JDK、安装JDK。配置JAVA_HOME、配置Path
4 jdk、jre、jvm关系与区别: "jdk:java开发工具包、jre:java运行环境、jvm:java虚拟机"
5 什么是注释?作用是什么? : 注释是编写程序时,程序员为代码添加的文字性说明
6 byte b1=10,b2=20;byte b3=b1+b2; b3=10+20;哪行代码会出错?解决方案有哪些?: 第二行,需要的byte类型,但他提供的是int类型,解决方案:1.需要把int转换成byte;2.或者是将结果储存到int类型的变量中;3.使用赋值运算符可以隐藏式强制转换类型
7 短路运算与非短路运算的区别?: "1.执行逻辑:短路运算符:第一个表达式为false,则不再计算第二个表达式;非短路运算符:无论第一个表达式的结果如何,都会计算第二
个表达式;2.应用场景:短路运算符:主要用于布尔逻辑判断场景;非短路运算符:除了用于布尔型的逻辑运算外"
8 &与&&的区别 : "逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。"
9 if语句与三目运算符的区别: "if语句适用于处理较复杂的条件分支;三目运算符对于简单的赋值或返回操作;if语句不必须要有返回值;三目运算符必须返回一个值"
10 while、do..while、for的区别: "while:先判断条件是否满足,再决定是否执行循环体;适用于循环次数不确定的场景
do-while:先执行一次循环体,然后检查条件;如果条件不满足,则退出循环,否则继续执行循环体;同样适用于循环次数不确定的场景,但保证至少执行一次
for:初始化变量后,会进行条件判断,如果条件一开始就不成立,循环体可能一次都不执行;最适合已知循环次数的操作"
11 break、continue、return的区别 : "break:跳出循环,结束循环
continue:跳过本次循环,继续下次循环
return:结束当前方法返回数据"
12 面向对象三大特性: "封装是指将对象的属性和行为包装在一起,隐藏对象的内部细节,仅向外部提供必要的接口来与对象进行交互。
继承允许一个类(子类)继承另一个类(父类)的特性,使得子类自动具备父类的属性和方法。
多态性是指同一个操作对于不同的对象可以有不同的解释和不同的行为。"
13 面向对象思想的好处: "高可读性:面向对象的设计使得代码结构清晰、类与类之间的关系明确,从而提高了代码的可读性。
局部修改:基于继承的特性,需求变更时通常只需要在局部模块进行修改,减少了对整体代码的影响。"
14 类与对象的关系 : "类与对象的关系:
1.类是对一类事物的描述,是抽象的
2.类是大量对象共性的抽象
3.对象是一类事物的实例,是具体的
4.对象是类在客观世界中的具体表现
5.类是对象的模板,对象是类的实体
6.类是创建对象的模板"
15 构造方法与普通方法的区别: "构造方法:没有返回值类型,名称必须与类名完全相同,不使用void作为修饰符。
普通方法:有明确的返回值类型,名称可以自定义,且必须指定返回类型。"
16 重写与重载的区别: "重写:发生在父类与子类之间,用于实现继承关系中方法的具体化。
重载:发生在同一个类中,通过提供不同的参数列表处理不同的情况。"
17 super与this的区别: "super:super代表当前对象的父类部分。当子类与父类有相同的成员变量或方法时,可以使用super来区分和访问父类中的成员。
this:this代表当前对象本身。用于指代当前对象的成员变量和方法,解决成员变量与局部变量同名时产生的二义性。"
18 有抽象方法的一定是抽象类?反之成立吗?: 有抽象方法的类一定是抽象类,抽象类可以没有抽象方法。
19 java中类、接口之间的关系?: 实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
20 抽象类与接口的区别?: "成员区别:
抽象类:变量,常量;有构造方法;有抽象方法,也有非抽象方法;
接口:静态常量;抽象方法
关系区别:
类与类:继承,单继承
类与接口:实现,可以单实现,也可以多实现
接口与接口:继承,单继承,多继承
设计理念区别:
抽象类:为了继承而来,让子类强制重写父类中的抽象方法
接口:对行为抽象,主要是行为,主要用于功能的扩展"
21 完整多态的前提: "要有继承或实现关系、要有方法的重写、要有父类引用指向子类对象"
22 向下转型成功的前提 : 该对象曾经发生过向上转型(该对象保存的就是对应类型的数据)
23 什么是内部类?内部类的分类有哪些?: "将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。
内部类的分类:成员内部类、局部内部类、匿名内部类"
24 概述final关键字: 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了final关键字,用于修饰不可改变内容。
25 局部变量与全局变量的区别: "全局变量的作用域是整个程序,它们可以在整个程序的任何地方被访问。
局部变量的作用域仅限于声明它的代码块或函数,只能在这个范围内被访问。"
JAVA基础阶段面试题
最新推荐文章于 2024-09-10 10:21:38 发布