11 2018 档案
摘要:工厂方法模式 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让这个类的实例化推迟到子类中进行 创建对象的任务就委托给了多个工厂子类中的某一个 客户端在使用时无须关心是哪个工厂子类产品的产品子类 需要的时候再动态指定就可以了 如果需要动态指定,还可以把工厂类的类名存储在配置文
阅读全文
摘要:简单工厂模式 定义:由一个工厂对象决定创建出哪一种产品类的实例(关键字:创建产品) 类型:创建型,但不属于GOF23种设计模式,更像一种编码的风格和习惯 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(创建对象的具体逻辑)不关心 只需要传入一个正确的参数,就可以
阅读全文
摘要:没有指针的Java语言 引用(reference)实质就是指针(pointer) 但是它是受控的、安全的 比如 会检查指针是否为空 没有指针运算*(p+5); 不能访问没有引用到的内存 自动垃圾回收 会检查指针是否为空 没有指针运算*(p+5); 不能访问没有引用到的内存 自动垃圾回收 (1)传地址
阅读全文
摘要:其他几个高级语法 从JDK1.5起,增加了一些新的语法 大部分是编译器自动翻译的,称为Complier sugar("糖"用起来很方便,但在底层翻译成别的语法要素了) 基本类型的包装类 它将基本类型(primitive type)包装成Object(引用类型) 如int -> Integer 共8类
阅读全文
摘要:内部类(inner class)是在其他类中的类 匿名类(anonymous class)是一种特殊的内部类,它没有类名 内部类的定义 将类的定义class xxxx{...}置入一个类的内部即可 编译器生成xxxx$xxxx这样的class文件 内部类不能够与外部类同名 内部类的使用 在封装它的内
阅读全文
摘要:对象清除与垃圾回收 我们知道:new创建对象 那么如何销毁对象? Java中是自动清除 不需要使用delete等方法人为销毁它 不需要使用delete等方法人为销毁它 垃圾回收(garbage collection) 对象回收是由Java虚拟机的垃圾回收线程来完成的 为什么系统知道对象是否为垃圾?
阅读全文
摘要:对象构造与初始化 构造方法(constructor) 对象都有构造方法 如果没有,编译器加一个default构造方法 抽象类(abstract)有没有构造方法? 答案:抽象类也有构造方法。实际上,任何类都有自己的构造方法 构造方法(constructor) 对象都有构造方法 如果没有,编译器加一个d
阅读全文
摘要:迪米特原则(最少知道原则) 一个对象应该对其他对象保持最少的了解。又叫最少知道原则 迪米特原则主要强调:尽量降低类与类之间的耦合 优点:降低类与类之间的耦合 强调之和朋友交流,不和陌生人说话 朋友: 出现在成员变量、方法的输入、输出参数中的类称为成员朋友类,而出现在方法体内部的类不属于朋友类 一个对
阅读全文
摘要:接口隔离原则 定义:用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口 一个类对一个类的依赖应该建立在最小的接口上 建立单一接口,不要建立庞大臃肿的接口 尽量细化接口,接口中的方法尽量少 注意点:注意适度原则,一定要适度 优点: 符合我们常说的高内聚(减少对外交互,使接口中最少的
阅读全文
摘要:单一职责原则 定义:不要存在多于一个导致类变更的原因 一个类只负责一个职责,如果分别有两个职责,那就建立两个类分别负责职责1和职责2 一个类/接口/方法只负责一项职责 优点: 降低类的复杂性:一个类只负责一个职责肯定要比一个类负责多个职责简单的多 提高类的可读性:类比较简单,相对来说就更可读一些 提
阅读全文
摘要:依赖倒置原则 高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象不应该依赖细节;细节应该依赖抽象 针对接口编程,不要针对实现编程(尽量做到,并不是完全要这样做,尽量不要从具体的类派生,尽量不要覆盖其基类的方法) 优点:可以减少类间的耦合性,提高系统稳定性,提高代码可读性和可维护性,可降低修改程序
阅读全文
摘要:多态 多态(Polymorphism)是指一个程序中相同的名字表示不同的含义的情况 多态有两种情形 编译时多态: *重载(Overload)(多个同名的不同方法) *如 p.sayHello();p.sayHellow("Wang"); 运行时多态: *覆盖(Override)(子类对父类方法进行覆
阅读全文
摘要:基本类型变量与引用变量 基本类型(primitive type):其值直接存于变量中。"在这里" 引用型(reference type)的变量除占据一定的内存空间外,它所引用的对象实体(由new创建)也要占据一定空间。"在那里" 引用型变量与对象之间的关系 字段变量与局部变量 字段变量(field)
阅读全文
摘要:开闭原则 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭 强调的是用抽象构建框架,用实现扩展细节 优点:提高软件系统的可复用性及可维护性 开闭原则是面向对象中最基础的一个设计原则,指导我们如何建立稳定灵活的系统 实现开闭原则的核心思想是:面向抽象编程,而不是面向具体的实现编程
阅读全文
摘要:本章导航 开闭原则(所有原则的一个基础) 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则(最少知道原则) 里氏替换原则 合成/复用原则(组合/复用原则) 注:遵循设计原则也不要过渡,在适当的场景去遵循不同的设计原则即可,在后续的设计模式的学习中,会看到这些设计原则的影子,在某些设计模式中,并不
阅读全文
摘要:本章导航 1 、类图的定义2、类图的特点3、类图的分类4、类图5、时序图(扩展)6、记忆技巧 注:之后讲解学习设计模式的时候,都会从UML的角度来理解 UML定义 统一建模语言(英语:Unified Modeling Language,缩写UML) 非专利的第三代建模和规约语言 UML特点 UML是
阅读全文
摘要:【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.6 接口 接口(interface) 接口,某种特征的约定 定义接口interface 所有方法都自动是public abstract 实现接口implements 可以实现多继承 与类的继承关系无关 面向接口编程,而不是面向实现 F
阅读全文
摘要:【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.5 其他修饰符 非访问控制符 static字段 静态字段最本质的特点是: 它们是类的字段,不属于任何一个对象实例 它不保存在某个对象实例的内存中,而是保存在类的内存区域的公共存储单元-类变量可以通过类名直接访问,也可以通过实例对象来访
阅读全文
摘要:修饰符(modifiers) 访问修饰符(access modifiers) 如public/private等 其他修饰符 如abstract等 可以修饰类、也可以修饰类的成员(字段、方法) 在定义类时,也可以用用控制访问符 类的访问控制符或者为public,或者默认 如果类用public修饰,则该
阅读全文
摘要:【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.3 包 package package pkg1[.pkg2[.pkg3...]]; 包及子包的定义,实际上是为了解决名字空间、名字冲突的问题 它与类的继承没有关系。事实上,一个子类与其父类可以位于不同的包中。 包有两方面的含义 1、
阅读全文
摘要:【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承 super的使用 1.使用super访问父类的域和方法 注意:正是由于继承,使用this可以访问父类的域和方法。但是有时为了明确指明父类的域和方法,就要用关键字super。this和super都是指当前同一个对象 例如:
阅读全文

浙公网安备 33010602011771号