Java核心技术及面试指南 面向对象部分的面试题总结以及答案
问题2.7.1,开放性问题,说一下你对面向对象思想的了解。
要点1,先说基础概念,比如面向对象思想包括封装、继承、多态,然后说些语法,比如可以通过extends继承类、通过implement来实现接口。
要点2,得结合具体的实际,说一下在你做过的项目里,面向对象思想带来的具体好处,比如结合一个具体的例子(比如电信系统),说一下把方法都定义到父类里,然后通过继承子类来扩展,从而能改善代码结构,通过多态来减少代码修改后的维护量。这个切记别只说理论,说的时候一定得举些你项目里的例子。
问题2.7.2,接口和抽象类有什么差别?
这个基本都会问到,首先从语法角度分析,这时可以解释一下为什么接口和抽象方法Java编译器不让定义方法体,以及接口的属性为什么默认是public static final。
随后一定得说,抽象类是对逻辑的归纳,比如人类是中国人和美国人类的抽象类,而接口是对功能的抽象,比如把能发光的功能归纳到一个接口里。随后可以举些你项目里用到过的例子来说你定义过哪些接口和抽象类,由此通过案例来说明这两者的差别。
问题2.7.3,说下重载(overload)和覆盖(override)的差别。
这个也会经常问,重载是多态的一种体现,表现形式是方法同名但参数不同,而覆盖是子类方法覆盖掉父类方法。
随后请大家说出子类覆盖父类方法的两大局限,子类方法不能缩小父类方法的访问权限,而且,子类方法不能抛出比父类方法更多的异常。同时解释一下具体的原因。
问题2.7.4,this和super的含义。这个是语法问题,就不展开了。
问题2.7.5,finalize方法有什么作用?
第一,可以说出这个方法在类被回收时被调用;第二可以说,一般我们在项目里不会重写这个方法,因为会引发内存无法回收的问题。后面我们会详细提到 java的垃圾回收机制(GC),如果大家感觉可以,可以由这个问题展开回答一下你对GC的认识。
问题2.7.6,final关键的含义。
这时请分别说出final作用到类、方法和属性上分别有什么作用。随后最好结合你的实际项目,说下final类、final方法和final属性的应用场景。
问题2.7.7,构造函数能否被覆盖,能否被重载?
构造函数能重载,但不能覆盖,原因已经讲过。
接下来的问题只给出的题目,答案请到附录里去找。
问题2.7.8静态变量和实例变量的区别?
问题2.7.9是否可以从一个static方法内部发出对非static方法的调用?
问题2.7.10请说出作用域public,private,protected,以及不写时的区别。
Java核心技术及面试指南 面向对象部分的面试题总结以及答案的更多相关文章
- Java核心技术及面试指南 JDBC部分的面试题总结以及答案
5.5.1 你最近的项目里用到的是哪个数据?或你用过哪些数据库?或你对哪个数据库最熟悉? 通过这个问题,我们将会确认候选人是否在项目里用过数据库或JDBC. 5.5.2 你有没有建过表?或修改表里的字 ...
- Java核心技术及面试指南 集合部分总的面试题归纳以及答案
3.6.1ArrayList和LinkedList有什么差别?在哪种场景里应当用ArrayList(或LinkedList)? 大家如果学过数据结构,这个问题不难回答:前者是基于数组,数组比较擅长索引 ...
- Java核心技术及面试指南 设计模式部分的面试题总结以及答案
8.6.4.1请实现一个线程安全的单例模式. 1 public class MailListReader { 2 private static MailListReader ...
- Java核心技术及面试指南 IO部分的面试题归纳以及答案
4.6.1 java中有几种类型的流? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStr ...
- Java核心技术及面试指南 多线程部分的基本面试题总结以及答案
7.1.5 (1) 如果某个类已经继承(extends)了一个类,那么让这个类具有多线程的特性? implements runnable类或通过线程池 7.1.5 (2)启动一个线程是用run()还 ...
- Java核心技术及面试指南 异常部分的面试题归纳以及答案
4.2.4.1 throw和throws有什么差别?异常(Exception)和错误(Error)有什么差别? throw语句表示抛出异常,由方法体内的语句处理.throws语句用在方法声明后面,表示 ...
- Java核心技术及面试指南 数据库方面的面试题归纳以及总结
5.1.7.1 事务的四大特性是什么? ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库 ...
- Java核心技术及面试指南:视频列表
如下是本书相关内容的视频列表,会动态更新 第一章 1 视频1.1 JDK和JRE和JVM的区别,安装Java开发环境 1.1.1 第2页 2 视频1.2 编写第一个HelloWorld程序 ...
- Java核心技术及面试指南的视频讲解和代码下载位置
都是百度云盘,均无密码 代码下载位置: https://pan.baidu.com/s/1I44ob0vygMxvmj2BoNioAQ 视频讲解位置: https://pan.baidu.com/s/ ...
随机推荐
- win10与虚拟机fedora14使用samba文件共享
参考路径:http://blog.sina.com.cn/s/blog_ae9507be01017tyz.html 最近需要配置samba,试了好多次,终于搞定.奉上配置及共享文件的过程,以供参考. ...
- OvO
OvO 知乎 网易云 图书馆 B站 小众软件 360极速浏览器下载 开源下载工具 下载地址1 下载地址2 下载地址3
- 继承中的prototype与_proto_
继承的核心是原型链,它的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法. 例:SubType.prototype = new SuperType (); var instance = ...
- Effective C++ 笔记:条款 34 实现继承和接口继承
Differentiate between inheritance of interface and inheritance of implementation. 行为含义 声明一个pure virt ...
- Linux---基础指令(一)
https://www.linuxprobe.com/chapter-02.html (Linux就要这么学) 一.执行查看帮助命令 date:date命令用于显示及设置系统的时间或日期,格式为“d ...
- s3-1 数据链路层概述
数据链路层功能 为网络层提供服务,良好的服务接口 保证数据传输的有效.可靠: - 处理传输错误:差错检测和控制 流量控制 • 基于速率 • 基于反馈 数据链路层的位置 位于网络层之 ...
- git遇到的问题-- Another git process seems to be running in this repository
执行git add .时,报错 fatal: Unable to create '/Users/lily/ForWork/forReBaomai/bm-fe/.git/index.lock': Fil ...
- C#HTTP请求之POST请求和GET请求
POST请求 /// <summary> /// POST请求获取信息 /// </summary> /// <param name="url"> ...
- 20155205 郝博雅 Exp5 MSF基础应用
20155205 郝博雅 Exp5 MSF基础应用 一.实验目标 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.一个主动攻击实践,如ms08_0 ...
- spring aop 的代理工厂
参考 https://docs.spring.io/spring/docs/4.3.11.RELEASE/spring-framework-reference/htmlsingle/#aop-unde ...