在写软构实验2的时候,删除顶点的remove方法中我写出了这样一段代码,用途是只要起点或者终点与指定的顶点相同就删除该边。 Iterator<Edge<L>> iterator = edges.iterator(); while (iterator.hasNext()) { Edge<L> e = iterator.next(); if(e.getSource().equals(vertex) || e.getTarget().equals(vertex)) { iterator…
在写软构实验2的时候,删除顶点的remove方法中我写出了这样一段代码,用途是只要起点或者终点与指定的顶点相同就删除该边。 Iterator<Edge<L>> iterator = edges.iterator(); while (iterator.hasNext()) { Edge<L> e = iterator.next(); if(e.getSource().equals(vertex) || e.getTarget().equals(vertex)) { iterator…
重写和重载是一对比较容易混淆的概念 从参数列表来说:重写的各个方法参数列表必须相同,重载的各个方法参数列表必须不同(但是函数名字相同) 从返回值来说:重写的各个方法返回值类型必须相同,重载的各个方法返回值可以不同也可以相同 异常:重写的方法可以消除原有的异常,但是不可以抛出新的异常,重写是对异常没有限制 可见性:重写的方法可见性可以与原来持平或者在原有基础上增加,但是不能降低,重写对可见性没有限制 调用选择: 重写的方法,根据实际的对象类型(而不是声明的)来决定调用哪个方法,但是注意,在此之前还有静态检查,也就是说…
在写软构实验的时候,写出了这样的代码,然后报错:Generic array creation 诶,java中不允许创建泛型数组吗?为什么呢? 查找了一些资料,明白了,这是由于java对泛型的类型擦除特性导致的。 首先我们要搞清楚,java为什么要引入泛型? 先来看这样一段代码: public static void main(String[] args) { List lists = new ArrayList(); lists.add("test"); lists.add(5); String s = (Stri…
一、介绍 敏捷开发,本质上是增量开发与迭代开发的叠加。 敏捷开发是通过快速迭代和小规模的持续改进,以快速适应变化。每次迭代都会处理一个小规模增量。 虽然敏捷开发将软件开发分成多个迭代,但是也要求,每次迭代都是一个完整的软件开发周期,必须按照软件工程的方法论,进行正规的流程管理。 二、具体方法 1、目标制定,目标对齐:市场评估之后,制定一个统一目标,所有部门的目标向这个目标对齐 2、产品规划:产品研发部门根据目标制定产品关键路线图,这个路线图中分布着不同的产品特性和其完成时间; 3、组织产品待办列表:产品规划产生的需…
在软件构造课上,介绍了一些常用的测试方法,包括黑盒测试、白盒测试、集成测试等, 所以想要去了解一下现在的测试的主流方法。 一、按测试设计方法分类 1、黑盒测试 黑盒测试是把测试对象看做一个黑盒子,利用黑盒测试法进行动态测试时,需要测试软件产品已经实现的功能是否符合功能设计要求,不需测试软件产品的内部结构和处理过程。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 也就是说,黑盒测试不需要测试工…