09 2018 档案
摘要:简介 用例是以文本形式的情节描述,广泛应用于需求的发现和记录工作中。用例会影响项目的众多方面(包括OOA/D)。 示例:通俗地将,用例是文本形式的情节描述,用以说明某参与者使用系统以实现某些目标。以下是摘要形式用例的示例: 处理销售:顾客携带所购买商品到达收银台,收营员使用POS系统记录每件商品。系
阅读全文
摘要:定义:需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件。 UP提出了一系列的最佳实践,其中的需求管理(manager requirement)。需求管理不主张采用瀑布的观点,即在编程之前的第一阶段就试图完全定义和固化需求,而是采用迭代巧妙地进行需求分析。 需
阅读全文
摘要:初始阶段是建立项目共同设想和基本范围的比较简短的起始步骤。为了在随后的细化阶段能够开始编程,它将包括对10%的用例进行分析,关键的非功能需求的分析,业务案例创建和开发环境的准备。 什么是初始阶段 大多数项目需要一个简短的起始步骤,在该步骤中要考虑以下几类问题 1.项目的设想和业务案例是什么 2.是否
阅读全文
摘要:案例研究中涵盖的内容:通常包括UI元素,核心应用逻辑,数据库访问以及外部软硬构件的协作。 尽管OO技术可以用户所有层,但是这里对OOA/D的介绍首要集中于核心应用逻辑层。 对其他层(如UI层)设计的探讨只限于其与应用逻辑层的接口设计上。在应用逻辑层语境中学习到的基本OO设计技巧适用于所有其他层或构件
阅读全文
摘要:简介:迭代开发是OOA/D成为最佳实践的核心,也是本书所介绍的OOA/D的核心。 相对于顺序或“瀑布”生命周期,迭代和进化式开发(iterative and evolutionary development)对部分系统及早地引入了编程和测试,并重复这一循环。这种方式通常会在还没有详细定义所有需求的情
阅读全文
摘要:什么是分析和设计 分析(analysis)强调的是对问题和需求的调查研究,而不是解决方法。例如:如果需要一个新的在线交易系统,那么应该如何使用它?它应该具有哪些功能。 “分析”一词含义广泛,最好加以限制,如需求分析(对需求的调查研究)或者面向对象分析(对领域对象的调查研究)。 设计(design)强
阅读全文
摘要:Set集合,类似于一个罐子,程序可以把多个对象"丢进"Set集合,而Set集合通常不能记住每个元素的添加顺序.Set集合与Collection基本相同,没有提供任何额外的方法.实际上Set就是Collection,只是行为有所不同(Set不允许有重复元素) Set集合不允许包含相同的元素,如果试图把
阅读全文
摘要:Java8新增了Stream,IntStream,LongStream,DoubleStream等流式API,这些API代表多个支持串行和并行聚集操作的元素.上面的4个接口中,Stream是一个通用的流接口,而IntStream,LongStream,DoubleStream则代表元素类型为int,
阅读全文
摘要:Java8起为Collection集合新增了一个removeIf(Predicate filter)方法,该方法将批量删除符合filter条件的所有元素.该方法需要一个Predicate(谓词)对象作为参数,Predicate也是函数式接口,因此可以使用Lambda表达式作为参数. 调用集合Coll
阅读全文
摘要:使用Java8增强的Iterator遍历集合元素. Iterator接口也是Java集合框架的成员,但它与Collection系列,Map系列的集合不一样:Collection系类集合,Map系列集合主要用于转其他对象,而Iterator则主要用于遍历(也就是迭代访问)Collection集合中的元
阅读全文
摘要:Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如栈,队列等,此外Java集合还可以用于保存具有映射关系的关联数组.java集合大致可分为Set,List,Queue和Map四种体系,其中Set代表无序,不可重复的集合;List代表有序,重复的集合;而Map
阅读全文
摘要:转发:https://bbs.csdn.net/topics/380192638 你可以报保存数据库之前,进行 替换 str = str.Replace("\r\n","") 或者在取出来的时候替换就可以啊 引用楼主 wanmingtom 的回复: 这些回车字符被存到了数据库中,我读取的时候是要把取
阅读全文
摘要:什么是抽象类什么是接口两者有什么区别?如何使用它(转载) 来自:http://www.360doc.com/userhome/1039473 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,
阅读全文
摘要:List<?>[] lsa=new ArrayList<?>[10];
阅读全文
摘要:在严格的泛型代码中,带有泛型声明的类总应该带着泛型参数,但为了与老的Java代码保持一致,也允许在使用带泛型声明的类时不指定实际的类型,如果没有这个泛型指定实际类型,此时被称作raq type(原始类型),默认时声明该泛型形参时指定的第一个上限类型.package com.j1803;class A
阅读全文
摘要:因为泛型既允许设定通配符的上限,也允许设定通配符的下限,从而允许在一个类里包含如下两个方法定义
阅读全文
摘要:正如泛型方法允许在方法签名中声明泛型形参一样,Java也允许在构造器签名中声明泛型形参,这样就产生了所谓的泛型构造器.
阅读全文
摘要:大多数时候可以使用泛型方法来代替类型通配符.例如
阅读全文
摘要:前面介绍了在定义类,接口时可以使用泛型形参,在该类的方法定义和成员变量定义,接口的方法定义中,这些泛型形参可以被当成普通类型来使用.在一些另外的情况下,定义类,接口时没有使用泛型形参,但定义 方法时想自己定义泛型形参,这也是可以的,Java5还提供了对泛型方法的支持. 定义泛型方法 定义一个方法将一
阅读全文
摘要:除了可以指定通配符的上限之外,Java也允许指定通配符的下限,通配符的下限用<? super 类型>的方式指定,通配符下限的作用于通配符上限的作用恰好相反. 指定通配符的下限就是为了支持类型型变.比如Foo是Bar的子类,当程序需要一个A<? super Bar>变量时,程序可以将A<Foo>,A<
阅读全文
摘要:当直接使用List<?>这种形式时,即表明这个List集合可以是任何泛型List的父类,但还有一种特殊的情况,程序不希望这个List<?>是任何泛型List的父类,只希望它代表某一类泛型List的父类,考虑到一个简单的绘图程序.示例代码. package com.j1803.Type_wildcar
阅读全文
摘要:正如前面讲的,当使用一个泛型类时(包括声明变量和创建对象两种情况),都应该为这个泛型类传入一个类型实参,如果没有传入类型实际参数,编译器就会提出泛型警告,结社现在需要定义一个方法,该方法里有一个集合形参,集合形参的元素类型时不确定的,那么该怎么定义呢?
阅读全文
摘要:所谓泛型,就是允许在定义类,接口,方法时使用类型形参,这个类型形参(或叫泛型)将在声明变量,创建对象,调用方法时动态地指定(也就是传入实际的类型参数,也可称为类型实参).Java5改写了集合框架中的全部接口和类,为这些接口和类增加了泛型支持从而可以在声明集合变量,创建集合对象时传入类型实参,就是Li
阅读全文
摘要:一泛型的由来 Java集合有个缺点,把一个对象"丢进"集合里之后,集合就会"忘记"这个对象的数据类型,当再次取出该对象时候,该对象的编译类型就变成了Object类型(其运行时类型没变) Java集合之所以这样是因为设计者不知道我们使用集合会保存些什么类型的对象,故设计成能保存任何类型.带来了很好的通
阅读全文
摘要:抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更加彻底,则可以提炼出一种更加特殊的"抽象类"-接口(interface),Java9对接口进行了改进,允许在接口中定义默认方法和类方法,默认方法和类方法都可以提供方法实现,Java9为接口增加了一种私有方法,私有方法也可提供方法实现 接口是从多
阅读全文
摘要:在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象;再比如行星类,目前只有8个对象,这些实例有限而且固定的类,在Java中被称为枚举类 JDK1.5新增了一个enum关键字,(它与class,interface关键字的地位相同),用以定义枚举类,枚举类是一种特殊的类,它一样可以有
阅读全文
摘要:抽象类和抽象方法 抽象类和抽象方法必须使用abstract修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有抽象方法 抽象类和抽象方法的规则如下 1.抽象类和抽象方法必须要用abstract来修饰,抽象方法里可以没有方法体. 2.抽象类不能实例化,无法使用new关键字来调用构造器创建抽
阅读全文
摘要:不可变类的实例状态不可改变,可以很方便地被多个对象所共享,可以考虑缓存这种不可变类的实例
阅读全文
摘要:final修饰的类不可以有子类,例如:java.lang.Math类就是一个final类,它不可以有子类 子类继承父类,可以访问父类的内部数据,可以重写父类的方法来改变父类方法的实现细节,可能导致不安全因素:为了保证某个类不可被继承,则可以使用fianl修饰这个类, 代码示例: public fin
阅读全文
摘要:final修饰的类的方法不能被重写,例如如果父类不希望子类重写某个方法,则可以使用final修饰符修饰该方法 在java的Object类里面有一个final方法:getClass(),因为Java不希望任何类重写这个方法,所有使用final方法封装起来,但对于该类提供的toString()和equa
阅读全文
摘要:对于一个final变量来说,不管它时类变量,实例变量还是局部变量,只要满足三个条件,这个final变量就不再是一个变量,而是一个直接量.final变量的一个重要用途,就是定义"宏变量" 1,使用final修饰符修饰 2,在定义该final变量时指定了初始值 3,该初始值可以在编译时就被确定下来 pa
阅读全文
摘要:final修饰基本类型变量 当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变 final修饰引用类型变量 当使用final修饰引用类型变量时,它保存的仅仅是一个引用,final只能保证这个引用类型变量所引用的地址不会改变,即一直引用同一个对象,但这个对象完全
阅读全文
摘要:final局部变量 系统不会对局部变量进行初始化,局部变量必须又程序员显示初始化,因此使用final修饰局部变量,可以在声明时指定默认值,也可以在后面的代码中对该final变量赋初始值,但只能赋值一次 package com.j1803.finalTest; public class demo {
阅读全文
摘要:final修饰的成员变量是不可改变量,必须由程序员显示地指定初始值 修饰成员变量 类变量:必须在静态初始化块中指定初始值或者声明该类变量时指定初始值,而且只能在两个地方的其中之一指定. 实例变量:必须在非静态初始化,声明该实例或者构造器中指定初始值,而且只能在三个地方的其中之一 1.需要注意的是,如
阅读全文
浙公网安备 33010602011771号