2.17 工作面试记录
记录几个面试中遇到的问题。
一、接口跟抽象类的区别:
定义:
接口:接口是抽象方法的集合。如果一个类实现了接口,就继承了里面所有的抽象方法,并且要实现它,接口本身不能做任何事情。
抽象类:用于捕捉子类的通用特性,不能被实例化,一般作为子类继承的模板。
什么时候使用接口什么时候使用抽象类?
1、抽象类适用于某一领域的固有属性,接口适用于在某一领域的额外扩展。举个例子:教师 学生都是人 人可以作为一个抽象类 有呼吸 吃饭这种人类固有的方法,也有年纪 性别这种固有的属性。 写作业可以作为一个接口,属于学生领域的,写作业包含写数学作业 语文作业等。
2、当需要为一个类实现一些基础的功能时,使用抽象类,因为抽象类中的非抽象方法可以被子类继承一下。
3、java中不支持多继承,抽象类只能继承一个,接口可以实现多个。
二、java23种设计模式
主要分为三类
创建型:抽象工厂模式、工厂方法模式、单例模式、建造者模式、原型模式
行为型:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式
结构型:
自己理解不深,这里引用一下网上的总结——https://www.cnblogs.com/foryang/p/5849402.html
三、数据库优化
查询一万条数据应该如何解决?
四、SQLSERVER存储过程基本语法