2018 Java面试精华:理解&与&&、面向对象特性及基本概念

3星 · 超过75%的资源 需积分: 15 51 下载量 198 浏览量 更新于2024-07-18 收藏 55KB DOCX 举报
本文档是一份针对2018年JAVA面试题的详细整理,主要探讨了Java编程语言的一些核心概念和技术要点。以下是部分内容的详细解析: 1. 面向对象的特性: - 抽象:Java支持抽象,即通过类来封装相似的对象属性和行为,强调数据抽象(如字段)和行为抽象(如方法)。抽象关注的是类的公共部分,不涉及具体实现细节。 - 继承:Java支持单继承,即一个类可以从一个父类继承属性和方法。这使得子类可以复用父类的功能,实现代码的扩展和模块化。 - 封装:封装是将数据(变量)和操作数据的方法绑定在一起,限制对外部的直接访问,提高数据安全性,用户只需通过定义的接口操作。 - 多态性:多态允许子类覆盖父类的方法,实现相同接口下不同行为的实现。这通过方法重写和对象造型(父类型引用子类型对象)来实现。 2. 访问修饰符: - `public`:所有类可见,不受包限制,可以直接被其他类访问。 - `private`:仅限当前类可见,外部无法直接访问,通常用于保护类内部的敏感信息。 - `protected`:同一包内及子类可见,提供了一定程度的封装和控制。 - 默认(不写):包内可见,子类可以访问,但外部类一般不推荐使用。 3. 关于数据类型: - Java中不是所有类型都是基本数据类型,尽管"String"常被误解为基本类型。实际上,String是引用类型,存储的是字符序列的引用,而非实际字符。 - 转型问题:例如,将`float`赋值给`double`时,若直接赋值会导致精度丢失,应使用强制类型转换`float f = (float) 3.4;`或使用双精度后缀`float f = 3.4F;`。 4. 算术运算符: - `s1 = 1; s1 = s1 + 1;` 这里可能会有类型转换错误,因为`1`作为`int`类型与`s1`(假设为`short`)相加时,结果会提升为`int`类型,可能造成溢出或精度丢失。正确的做法是先强制转换再赋值或使用加法赋值运算符`= +=`。 这些题目涵盖了Java基础语法、面向对象编程原则、数据类型管理和运算符使用等方面,对于准备Java面试或巩固编程基础知识都是非常有价值的参考资料。