Java面试必备:2018黑马程序员面试题精选
需积分: 0 82 浏览量
更新于2024-07-01
收藏 10.82MB PDF 举报
"2018年黑马程序最新面试题汇总1"
这是一份2018年的Java面试题集,涵盖了Java面向对象、JavaSE基础等多个方面,旨在帮助求职者准备面试。以下是对部分关键知识点的详细解释:
1. **面向对象特性**:面向对象编程(OOP)主要包含三大特性:封装、继承和多态。封装是将数据和操作数据的方法绑定在一起,对外只提供有限的访问接口。继承允许创建新的类(子类)来扩展已存在的类(父类),共享父类的属性和方法。多态则指的是同一种行为在不同对象上有不同的表现形式,如方法的重写。
2. **clone对象**:`clone()`方法用于创建一个现有对象的副本。在Java中,如果一个类实现了`Cloneable`接口,那么它的实例可以通过调用`clone()`方法复制。但是,仅仅实现`Cloneable`接口还不够,还需要覆盖`clone()`方法,以确保正确地复制对象的所有字段。
3. **访问权限修饰符**:`public`、`private`、`protected`和默认(包级私有)分别代表公共、私有、保护和包内可见的访问级别。`public`的成员可以在任何地方访问,`private`的成员只能在定义它们的类内部访问,`protected`的成员在同一个包或不同包的子类中可见,而默认的则仅在同包内可见。
4. **&和&&的区别**:在Java中,`&`是位运算符,用于按位与操作,而`&&`是逻辑与运算符。逻辑与运算符会短路,即如果第一个操作数为假,就不会计算第二个操作数。位运算符不会短路,两个操作数都会计算。
5. **跳出多重嵌套循环**:在Java中,可以使用`break`语句跳出最内层的循环。若要跳出所有嵌套循环,可以使用标签(label)配合`break`。
6. **对象参数传递**:Java中,所有的参数传递都是值传递。但当传递的是对象时,实际上是传递了对象的引用副本。因此,尽管不能改变对象本身,但可以通过引用副本修改对象的属性。
7. **重载与重写**:重载(Overloading)发生在同一类中,是方法名相同但参数列表不同的多个方法。重写(Overriding)发生在子类中,是子类重新定义父类的已有的方法。重载不看返回类型,而重写必须保持方法签名(包括方法名、参数列表和参数类型)一致。
8. **不能根据返回类型区分重载**:因为Java的重载是基于方法签名,包括方法名和参数列表,而不是返回类型。因此,不能仅凭返回类型来决定调用哪个重载方法。
9. **char型变量存储中文**:Java的`char`类型占用两个字节,理论上可以存储Unicode编码的单个字符,包括中文汉字。
10. **抽象类与接口的异同**:抽象类可以有方法实现,而接口中所有方法默认都是抽象的。类可以继承一个抽象类,但可以实现多个接口。抽象类可以有非静态、非最终的成员,而接口中所有成员都是静态和最终的。抽象类是具体类的抽象,接口是行为规范的集合。
11. **抽象方法与静态、本地、synchronized**:抽象方法不能是静态的,因为静态方法属于类,而抽象方法需要在子类中被实现,与实例有关。同样,抽象方法也不能是本地方法(native),本地方法是用C或C++实现的,而抽象方法需要Java代码实现。至于`synchronized`,抽象方法可以是同步的,这意味着当多个线程试图访问该方法时,只有一个线程能执行。
这些面试题涉及到的Java基础知识是程序员在面试中常常会被问到的,掌握这些内容对于提升Java编程技能和成功通过面试至关重要。
2018-04-27 上传
355 浏览量
502 浏览量
178 浏览量
137 浏览量
112 浏览量
194 浏览量
220 浏览量
290 浏览量
胡说先森
- 粉丝: 711
- 资源: 280
最新资源
- VUTTR:前端应用程序VUTTR(非常有用的工具,要记住)。 Aplicaçãoéumsrepositóriopara gerenciar ferramentas com seuspectivos标题,链接,说明和标签
- nake:将您的Nim构建描述为任务
- 科技发展中心网页模板
- nodejs-typeorm-upload:NodeJSTypescript + typeorm和文件上传以导入数据的示例
- Document Library Automation-crx插件
- learn_tarscpp.7z
- asp.netERP客户关系系统设计程序源代码说明制造标准采购计划库存销售成本车间管理应收应付财务工资
- jquery.motionnotion:一个 jQuery 插件,它允许 CSS3 动画在核心 jQuery 操作和可见性功能(如追加、删除、显示和隐藏)上发生和完成
- neotrackapp
- 5A06 铝合金薄板自动化焊接工艺研究.rar
- IKAnalyzer中文分词.rar
- Cognifirm-crx插件
- 全国手机号码归属地信息,包含移动联动电信
- go-wkhtmltopdf:wkhtmltopdf Go绑定和HTML到PDF转换的高级界面
- 绿色幼儿教育机构网页模板
- vagrant:在你的项目中使用 Vagrant 的基本示例