Java SE面试必备:基础题100道

需积分: 12 14 下载量 141 浏览量 更新于2024-09-29 收藏 251KB PDF 举报
"这是一份关于Java SE基础面试题的集合,涵盖了面向对象的四大特征、String类型特性以及int和Integer的区别等核心知识点。" 在Java编程语言中,基础面试题通常会围绕着语言的核心概念,如面向对象特性、数据类型等进行。下面将详细解析这些知识点: 1. 面向对象的特征: - **抽象**:抽象是将复杂的问题简化,关注主要的特性而忽略不重要的细节。在Java中,我们通过创建接口或抽象类来实现抽象。抽象类可以有抽象方法,而接口则完全由抽象方法组成。 - **继承**:继承允许子类从父类继承属性和方法,提高了代码的复用性。Java支持单继承,即一个类只能有一个父类,但可以通过多重接口实现多继承的效果。 - **封装**:封装是隐藏对象的属性和实现细节,仅对外提供公共访问方式。Java通过访问修饰符(public, private, protected)实现封装,确保数据安全。 - **多态性**:多态性使得不同的对象能响应相同的消息。Java中的多态性主要体现在方法的重载(Overloading)和重写(Overriding)。方法的参数列表决定了重载,而方法的返回类型和访问权限不能作为重载的依据。重写发生在子类覆盖父类的方法时。 2. **String是最基本的数据类型吗?** 不是。Java中的基本数据类型包括byte、int、char、long、float、double、boolean和short,而String是一个对象,属于引用类型。虽然在日常使用中我们经常将其视为基本类型处理,但它的底层是基于字符数组实现的。对于大量字符串拼接操作,应使用`StringBuilder`或`StringBuffer`类,以提高性能。 3. **int和Integer的区别** - `int`是Java的原始数据类型,它直接存储在栈中,占用4个字节,可以直接进行算术运算。 - `Integer`是`int`的封装类,属于引用类型,对象存储在堆中。封装类提供了更多额外的方法,如`compareTo()`,`toString()`等。当需要使用集合框架或者需要对象特性的场合,我们会使用Integer而不是int。 4. **引用类型和原始类型** 引用类型包括类、接口和数组,它们在内存中以对象的形式存在,而原始类型则是Java的内建数据类型,它们直接存储值。引用类型的默认值是`null`,而原始类型的默认值因类型不同而异,如整型是0,布尔型是`false`。 这些知识点是Java SE面试中常见的问题,掌握它们对于理解和编写高质量的Java代码至关重要。