Android需要的java基础
姓名: 李小娜
转载自:http://www.jianshu.com/p/e1db8852210e
[嵌牛导读]: 这段时间,项目基本完成,进入测试上线阶段,终于可以闲下来查漏补缺了,这里我将复习下android所需要的java基础,也可以帮大家回忆一下,今年的Google. IO 大会上,Google宣布Kotlin成为Android的官方语言,有兴趣的可以去学习下,Java作为Android的第一个语言 还是需要把这部分知识打牢固的。
[嵌牛鼻子]: 三大特性 6大原则
[嵌牛提问]: Android需要的java的6大原则是什么?
[嵌牛正文]:
1、三大特性
java作为面向对象的语言,他的三大特性:继承、封装、多态。
2、6大原则
单一职责原则(Single Responsibility. Principle)
定义: 不要存在多余一个导致类变更的原因。也就是说,一个类只负责一项职责
案例: 工厂A负责生产面包和牛奶,当生产面包的需求发生变化时,需要改变工厂生产模式,这事就有可能影响牛奶的生产了。
解决方案: 遵循单一职责原则,分别建立两个子公司,一个负责生产面包,一个负责生产牛奶,这样如果面包需求变了就不会影响牛奶的生产了。
我理解的单一职责原则就是在开发过程中尽量将一些类的职责明确、唯一。
遵循单一职责的优点:
降低复杂度
提高可读性
降低对其他功能的影响
里氏替换原则(Liskov. Substitution.Principle)
.定义: 所有引用基类的地方必须能够透明地使用其子类的对象
通俗的说,就是用父类的地方可以用子类去代替,但是用子类的地方用父类不一定能代替。
里氏替换原则包含4层含义:
1.子类必须完全实现父类的方法
2.子类可以有自己的方法
3.当子类的方法重载父类的方法时,形参要比父类的范围更大
4.当子类的方法实现父类的抽象方法时,方法的返回值要比父类的更严格
优点: 可以对后期版本升级,增添子类时都可以很好的维护
依赖倒置原则(Dependence. Inversion. Principle)
定义: 高层模块不应该依赖底层模块,应该依赖其抽象,抽象不应该依赖其细节,细节应该依赖其抽象。
底层模块: 负责基本的操作
高层模块: 由多个底层模块组成,负责复杂的操作
抽象: 在java中指的是接口或者抽象类
依赖倒置的核心思想是面向接口编程,相对于细节的多变性,抽象的稳定性更高一些。以抽象为基础搭建起来的架构比以细节搭建起来的框架稳定的多。
接口隔离原则(Interface. segregation. Principle)
定义: 客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。
迪米特法则(Low. of. Demeter. LoD)
定义: 一个对象应该对其他对象有最少的了解,只与直接的朋友通信。
开闭原则(Open Closed Principle,OCP)
定义:一个软件实体如类、模块和函数应该对扩展开发,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。
软件实体包括:
项目或软件产品中按照一定的逻辑规则划分的模块
抽象和类
方法