问题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核心技术及面试指南 面向对象部分的面试题总结以及答案的更多相关文章

  1. Java核心技术及面试指南 JDBC部分的面试题总结以及答案

    5.5.1 你最近的项目里用到的是哪个数据?或你用过哪些数据库?或你对哪个数据库最熟悉? 通过这个问题,我们将会确认候选人是否在项目里用过数据库或JDBC. 5.5.2 你有没有建过表?或修改表里的字 ...

  2. Java核心技术及面试指南 集合部分总的面试题归纳以及答案

    3.6.1ArrayList和LinkedList有什么差别?在哪种场景里应当用ArrayList(或LinkedList)? 大家如果学过数据结构,这个问题不难回答:前者是基于数组,数组比较擅长索引 ...

  3. Java核心技术及面试指南 设计模式部分的面试题总结以及答案

    8.6.4.1请实现一个线程安全的单例模式. 1      public class MailListReader { 2          private static MailListReader ...

  4. Java核心技术及面试指南 IO部分的面试题归纳以及答案

    4.6.1 java中有几种类型的流? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStr ...

  5. Java核心技术及面试指南 多线程部分的基本面试题总结以及答案

    7.1.5 (1) 如果某个类已经继承(extends)了一个类,那么让这个类具有多线程的特性? implements runnable类或通过线程池 7.1.5  (2)启动一个线程是用run()还 ...

  6. Java核心技术及面试指南 异常部分的面试题归纳以及答案

    4.2.4.1 throw和throws有什么差别?异常(Exception)和错误(Error)有什么差别? throw语句表示抛出异常,由方法体内的语句处理.throws语句用在方法声明后面,表示 ...

  7. Java核心技术及面试指南 数据库方面的面试题归纳以及总结

    5.1.7.1 事务的四大特性是什么? ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库 ...

  8. Java核心技术及面试指南:视频列表

    如下是本书相关内容的视频列表,会动态更新 第一章 1 视频1.1  JDK和JRE和JVM的区别,安装Java开发环境    1.1.1  第2页 2 视频1.2  编写第一个HelloWorld程序 ...

  9. Java核心技术及面试指南的视频讲解和代码下载位置

    都是百度云盘,均无密码 代码下载位置: https://pan.baidu.com/s/1I44ob0vygMxvmj2BoNioAQ 视频讲解位置: https://pan.baidu.com/s/ ...

随机推荐

  1. mysql8 出现1521错误解决方法

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'ro ...

  2. MySQL 1053错误 服务无法正常启动的解决方法

    MySQL 1053错误 服务无法正常启动的解决方法 1.右键我的电脑,管理,进入服务 2.右键单击Mysql8 属性,选择登陆  选择此账号  登陆管理员账号

  3. rsync @ERROR: auth failed on module backup 解决思路及附录rsync常见问题及解决办法

    昨晚小版本上线,使用rsync往服务器上传文件时,client报如下异常: @ERROR: auth failed on module backup rsync error: error starti ...

  4. ActivityThread 源码分析

    ActivityThread是Android Framework中一个非常重要的类,它代表一个应用进程的主线程(对于应用进程来说,ActivityThread的main函数确实是由该进程的主线程执行) ...

  5. 【Java】学习笔记(1)

    Java数据类型: 基本数据类型:(变量在栈中)数值型:byte(1个字节) short(2个字节) int(四个字节) long(8个字节) ,float(4字节) double(8字节) 字符型: ...

  6. Chapter5_初始化与清理_enum关键字

    enum关键字虽然只是一个很小的特性,但是它在我们使用枚举类型时,可以很方便的处理.先举一个例子. enum Speciness{ NOT, MILD, MEDIUM, HOT, FLAMING } ...

  7. window系统中 mongodb创建用户名和密码

    use admindb.createUser({user:"root",pwd:"root",roles:[{"role":"us ...

  8. vue组件通信新姿势

    在vue项目实际开发中我们经常会使用props和emit来进行子父组件的传值通信,父组件向子组件传递数据是通过prop传递的, 子组件传递数据给父组件是通过$emit触发事件来做到的.例如: Vue. ...

  9. beautifulsoup爬取糗事百科

    # _*_ coding:utf-8 _*_ import urllib2 from bs4 import BeautifulSoup user_agent = "Mozilla/5.0 ( ...

  10. C语言 字符二维数组(多个字符串)探讨 求解

    什么是二维字符数组? 二维字符数组中为什么定义字符串是一行一个? “hello world”在C语言中代表什么? 为什么只能在定义时才能写成char   a[10]="jvssj" ...