1.什么是面向对象编程
就是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
2.什么是面向过程编程
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
3和4考的比较少,可以了解一下
3.面向对象和面向过程的区别
面向过程就相当于一个农民工他要盖房子,首先需要打地基,然后打好架子,再然后就一个砖一个砖的放。面向对象就相当于一个老板,他叫打地基的去打地基,叫打架子的打架子,叫放砖的放砖,剩下的他就不管了
4.各自优缺点
面向过程
性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低
5.面向对象的四大特征
抽象:就是将一类对象的共同特征总结出来构建类的过程
封装:封装是把数据和操作数据的方法绑定起来,隐藏一切可隐藏的东西,只向外界提供最简单的编程接口
继承:主要是对父类和方法的复用,从已有类得到继承信息创建新类的过程
多态:就是可以将子类类型的对象赋值给父类类型的对象
6.接口和抽象类区别
接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类是声明方法的存在而不去实现它的类。
接口可以多继承,抽象类不行
接口定义方法,不能实现,而抽象类可以实现部分方法。
接口中只能定义常量public static final修饰
接口没有构造方法,抽象类有
抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物的外部特性
7.Java反射
反射就是把java类中的各种成分(成员变量,成员方法,构造方法等)分别映射成一个个对象
8.Java反射机制
本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。
9.java反射机制应用场景
JDBC 的数据库的连接(通过Class.forName()加载数据库的驱动程序 ,通过反射加载)
使用spring框架的时候(Spring 通过 XML 配置模式装载 Bean 的过程)
都是一些较大可能会被问但又不太好记或者答的问题,不是985/211,又没经过培训,去找实习还是比较困难的,不过你一天投个几十家面试,面试多了,经验丰富就啥也不怕了