- 博客(6)
- 收藏
- 关注
原创 LSP替换原则
继承虽然可以提高代码的可重用性,子类继承父类,可以直接使用父类的方法而不用再去声明创建,但继承也带来一定的弊端,继承实际上让两个类耦合性增强了,修改父类可能使子类出现故障;我们在实际开发过程中,子类在继承父类后,根据多态的特性,可能是图一时方便,经常任意重写父类的方法,那么这种方式会大大增加代码出问题的几率。 这时,在继承时就要考虑里氏替换原则。里氏替换原则的严格表达是:如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有...
2021-07-07 19:02:21
268
原创 java中的泛型编程
在JDK 1.5中,几个新的特征被引入Java语言。其中之一就是泛型(generics)。定义泛型public interface List<E> { void add(E x); Iterator<E> iterator();}public interface Interator<E> { E next(); boolean hasNext();}这是一段Collection里代码,一个完整的泛型定义。尖括号里的E...
2021-07-07 12:46:23
433
原创 java中的final类型
1、final所修饰的基本数据类型 用final修饰的成员变量表示常量,只能被赋值一次,赋值后值无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 一旦给final变量初值后,值就不能再改变了。 另外,final变量定义的时候,可以先声明,而不给初值,这种变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在final关键字final的使用上提供了更大的灵活性,...
2021-07-06 23:30:45
7924
原创 关于Lab2的算法问题
Poetic Walks 使用两种方法实现一个有向图的构建,分别是只用顶点、用顶点和边集,然后利用构建图的类来完成poetic walks,即给出一个字符串,让其与有向图比对,在顶点中间插入新顶点。 Get the code and prepare Git repository 从github上下载代码通过gitclone将仓库克隆,进行远程管理 Problem 1: Test Graph <String> 测试静态方法Graph.empt..
2021-07-02 23:01:10
212
原创 关于Lab1的算法问题
isLegalMagicSquare() 要想判断是否为幻方,首先是读取阶段,要将文件内容读出,这可以利用封装后的BufferReader来实现;然后就是处理阶段,要将读到的内容加以处理,首先通过split函数以字符\t来将字符串分割,然后将获得的每一个子串放到字符串数组中,利用字符串的valueof函数将其转变为整型数字;接下来就是判断阶段,在分割转换的过程中,就可以筛选出未用\t将数字分隔、带有小数、带有负数以及行列数不相等的所有不合要求的方阵,其后,遍历转换后的数组,查找里面是否有...
2021-06-28 22:19:21
265
原创 HIT计算机系统大作业hello
图2.1-1 hello.c中的源代码例如在本程序中,hello.c第一行的#include 就告诉预处理器读取系统头文件stdio.h的内容,并将其插入程序文本,结果就得到了另一个C程序,以.i作为文件扩展名,即生成了hello.i。2.1.2 作用:(1)删除#define并且展开其定义的宏,即字符替换。(2)处理所有的条件编译指令,如#ifdef、#ifndef、...
2021-06-26 11:37:11
531
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人