服务端重点-面向对象与设计模式
面向对象、面向接口、设计模式
link
link
link
面向对象、面向接口(Java、PHP不同)
- 面向对象、面向接口、面向方法编程的区别
- 接口和抽象类区别
- 构造方法能否被重写
- 拆箱和装箱
- 重载和重写需要满足的条件
- abstract方法是否能是静态的,能否是synchronized
- 接口是否能继承接口,抽象类是否可实现接口,抽象类是否可继承实现类
- 面向对象特征(封装、继承、多态)
- 静态变量和实例变量
- 对象持久化
- final与修饰符(public、protected、private、default)
- object中定义了哪些方法?
- 对象初始化顺序
- 方法的覆盖/重写Overload和Override的区别?Overload的方法是否 可以改变返回值的类型?
- abstract class(抽象类)和interface(接口)有什么区别?
- abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
- static关键字
- 是否可以从一个static方法内部发出对非static方法的调用?
- 静态变量和成员/实例变量的区别
- 内部类
- 匿名内部类
- 用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
Go替代面向对象的方式
- Go实现面向对象中的继承和覆盖方法
- Go实现继承的方式(组合)
- Go字段提升
- Go多态
- Go接口
设计模式
link
github
编码必须
- 为什么要学习设计模式
- 设计模式的六大原则
- 单例模式(Singleton)
- 工厂模式(Factory)
- 建造者模式(Builder)
- 外观模式(Facade)
- 原型模式 (ProtoType)
- 观察者模式(Observer)
- 依赖注入(Dependence Injection)
- 对象池(Objective Pool)
其他