会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Modnar
叫我小Mò就好
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2018年6月22日
Java中的协变与逆变
摘要: Java作为面向对象的典型语言,相比于C++而言,对类的继承和派生有着更简洁的设计(比如单根继承)。 在继承派生的过程中,是符合Liskov替换原则(LSP)的。LSP总结起来,就一句话: 所有引用基类(父类)的地方必须能够透明地使用其子类的对象。 LSP包含四层含义: ① 子类完全拥有父类的方法,
阅读全文
posted @ 2018-06-22 22:46 Modnar
阅读(2290)
评论(2)
推荐(1)
2018年6月19日
Java的equals方法实现及其细节
摘要: 判断两个对象是否等价,是OOP编程中常见的需求(下面围绕Java来进行阐述)。 考虑这样几种情况:通过某个特征值来判断两个对象是否“等价”,当这两个对象等价时,判断结果为true,否则结果为false。 当然,这里的“特征值”不会只是简单的“对象引用”,事实上,Object类(Java的“对象世界”
阅读全文
posted @ 2018-06-19 16:51 Modnar
阅读(47751)
评论(0)
推荐(4)
2018年5月24日
Java的clone方法效率问题
摘要: 在Java中,经常会需要新建一个对象,很多情况下,需要这个新建的对象和现有的某个对象保持属性一致。 那么,就有两种方式来实现这个对象的构造: ①通过新建一个对象,为这个对象的属性根据原有对象的属性来进行赋值 ②调用clone方法,来实现实例对象的克隆 对于Java的clone方法,需要注意的就是它实
阅读全文
posted @ 2018-05-24 09:25 Modnar
阅读(3292)
评论(2)
推荐(0)
2018年5月20日
Mac的Terminal中无法使用mvim解决方案
摘要: 对于每个人来说,都会有特别喜欢的编辑器。对于很多热爱Unix/Linux的人来说,Vim/vi肯定是很熟悉的“编辑利器”了。 当然,对于Mac用户来说,肯定也不乏对Vim狂热的人。庆幸的是,Vim对Mac用户提供了一个独立的应用程序MacVim。 作为一个Unix的衍生系统,macOS自然支持用户与
阅读全文
posted @ 2018-05-20 23:52 Modnar
阅读(1482)
评论(2)
推荐(0)
2018年5月2日
SC.Lab3对于Factory的构建过程(from HIT)
摘要: Factory设计模式基本就是通过传入指定的参数/或者不传入参数,通过Factory的某个方法(为了避免实例化Factory对象,一般方法为静态static),来获取一个对象。这个是Factory用的比较多的地方。对于Vertex和Edge的Factory来说,通过传入一些构建对象所需的信息来自动创
阅读全文
posted @ 2018-05-02 20:39 Modnar
阅读(225)
评论(0)
推荐(0)
2018年4月30日
关于Lab3中对于正则表达式的应用
摘要: 在这里记录一下关于软件构造课程Lab3中关于正则表达式的应用。 在实验内容中,要求用正则表达式来匹配读入文件的内容,从而取得构建图需要的相关信息。 举个例子,读入的文件(GraphPoetTestFile.txt)内容如下: 先说一下文件内容中的数据格式: ①一定有一行,第一个单词为"GraphTy
阅读全文
posted @ 2018-04-30 12:53 Modnar
阅读(534)
评论(0)
推荐(0)
2018年3月23日
关于Java构造类与对象的思考
摘要: 简单记录一下Java构造类与对象时的流程以及this和super对于特殊例子的分析。 首先,接着昨天的问题,我做出了几个变形: Pic1.原版: Pic2.去掉了T.foo方法中的this关键字: Pic3.在原版的基础上抹掉了B.foo方法: Pic4.抹掉了原版的B.foo方法,同时去掉了T.f
阅读全文
posted @ 2018-03-23 21:41 Modnar
阅读(245)
评论(0)
推荐(0)
2018年3月22日
一个Java的小问题
摘要: 老师今天在讨论群里抛出了一个问题,让大家尝试思考一下他所给的一段代码输出是什么。 其代码如下: 思考了一波: 实例化子类对象,子类父类都没有显式构造器,就是在子类父类方法之间跳来跳去的。 “嗯,答案一定是'T.bar'”。 但还是敲了一遍,发现答案竟然是'B.bar'......(如图) 室友说:“
阅读全文
posted @ 2018-03-22 17:46 Modnar
阅读(150)
评论(0)
推荐(0)
2018年3月15日
“持有对象”小记
摘要: 关于《Java编程思想》第十一章“持有对象”一个内容的思考 在书中第244页,提到了这样的一个方法:Collection.shuffle() 方法。其功能是打乱一个 List 中的元素的顺序。 在这一页的下方,举了这样一个例子: 根据这段代码,如果直接来看,可以这样分析: list1引用指向了一个全
阅读全文
posted @ 2018-03-15 00:30 Modnar
阅读(147)
评论(0)
推荐(0)
2018年3月12日
Git简记
摘要: 本文从Git的命令入手,根据不同的应用场景,对每个命令都会有简单的说明(若有变化,请以官方说明为主)。 Git初始化: $ git init 本命令会初始化这个Git仓库,通过命令$ ls -a 可以看到多出了一个.git目录(文件夹,以下简称为目录,即以Unix说法为主)。这个.git目录中包含了
阅读全文
posted @ 2018-03-12 10:38 Modnar
阅读(177)
评论(0)
推荐(1)
上一页
1
2
3
下一页
公告