2019 Java面试必备知识点大全

需积分: 0 0 下载量 57 浏览量 更新于2024-07-17 收藏 563KB DOCX 举报
"此资源是一份综合性的Java面试复习资料,主要涵盖了Java基础知识、数据库知识、前端技术、XML处理以及SpringBoot等内容。随着更新,还将加入SpringCloud和Java前端框架的相关内容,适合准备Java面试的开发者参考学习。" 本文将详细探讨这份资料中提到的一些Java面试知识点,帮助读者理解和掌握这些关键概念。 1. **Java基础** - 一个.java源文件可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共的。 - Java没有goto语句,其控制流程通过break、continue和return来实现。 - &是按位与运算符,&&是逻辑与运算符。&始终计算两边的操作数,而&&在左操作数为假时不会计算右操作数。 - 跳出多重嵌套循环,可以使用label配合break语句。 - switch语句不能作用于byte,但可以通过类型转换使用;不能作用于long,但Java 7后可以用字符串(String)。 2. **数据类型与运算** - short类型的变量s1不能直接与整数1相加,需要强制类型转换;s1+=1则是自动类型提升,无需转换。 - char类型可以存储单个中文字符,因为UTF-16编码每个字符占据2个字节。 - 2乘以8等于16,可以使用Integer.parseInt("2") * 8获得结果。 - 使用final关键字修饰变量,意味着其引用一旦初始化后不能改变,但如果是对象,对象的属性是可以修改的。 3. **方法与关键字** - "==”比较的是两个变量的值是否相等,而equals()方法比较的是对象的内容是否相等。 - 静态变量属于类,实例变量属于对象。静态变量被所有类的实例共享,实例变量仅在特定对象中存在。 - 不能从静态方法内部直接调用非静态方法,因为静态方法与类关联,而非静态方法与对象关联。 - Integer与int的区别在于Integer是int的封装类,存在自动装箱拆箱,且Integer对象在一定范围内有缓存。 - Math.round(11.5)等于12,Math.round(-11.5)等于-11。 - 不妥之处可能在于数组未初始化或越界,具体需查看代码上下文。 - public、private、protected和默认访问修饰符分别代表全局、私有、包内可见和默认访问级别。 - Overload是重载,方法名相同但参数列表不同;Override是重写,子类方法覆盖父类方法。重载方法不能改变返回类型。 - 构造器不能被override,但可以重载。 - 接口可以继承接口;抽象类可以实现接口;抽象类可以继承具体类,但抽象类不能有静态main方法。 - 实现clone()方法通常会包含`super.clone()`以创建对象副本。 - 面向对象的特征包括封装、继承、多态。 - Java实现多态主要依赖于方法重写(Override)和接口实现(Implements)。 - abstract class可以有方法实现,可以有字段,可以有构造器;interface只有方法声明,没有实现,不能有字段和构造器。 - abstract method不能是static、native或synchronized。 - 内部类可以引用外部类的所有成员,包括私有成员,但静态内部类不能直接访问外部类的非静态成员,需要通过外部类实例访问。 - 匿名内部类是没有类名的内部类,通常用于一次性创建对象的情况。 以上只是这份面试资料中部分Java基础知识的解析,更深入的面试准备还需要涵盖其他领域如集合、多线程、网络编程、设计模式等。对于SpringCloud和前端框架的学习,也是现代Java开发者必备的技能。