随笔分类 - Java
java学习经历
摘要:设计模式(Design pattern):是代码设计经验的总结,是前人智慧的结晶,使用设计模式是为了代码的可重复性、让代码更容易被他人理解、保证代码可靠性,增加代码可维护性。 设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构。 如java的API和各种框架中都使用了设计模式,如果能熟悉设计模式,那么将更容易理解这些api和框架的结构,对以后的学习和工作会有很大的帮助。 面向对象的原则也都会在设计模式中体现!目前设计模式总共有23种,分为三种类型:创建型、结构型和行为型:创建型模式:工厂模式:http://www.cnblogs.com/homg/p/3548110.h
阅读全文
摘要:以下为工厂模式的详解,包括简单工厂,普通工厂模式,抽象工厂。引子: 假设有一个交通工具公司,生产自行车,汽车,飞机等,现要销售该公司的产品,要怎么设计呢? 在交通工具商店中加一个if else判断如果是自行车就实例化(new)一个自行车,如果是汽车就实例化(new)一个汽车吗,当然不是,这样的话如果将来又加了多种交通工具那要更改每一个商店的代码,这样的话更改太多,我们应该把这部分可能变更的代码封装到另一个对象中,这个对象只管生产何种交通工具,要获得交通工具就用它。简单工厂:类图:设计:/** * 抽像的交通工具类,里面有生产交通工具的过程方法(控制生产过程) * @author Homg *
阅读全文
摘要:以下为装饰者模式详解:引子: 假如有一个快餐店,基本种类分为米饭,水饺,粉面等,但每一种类型的快餐又可以搭配不同的料,如米饭可以点各种不同的菜(排骨,青菜,土豆等),如果按照一般的设计,快餐为基类,加不同的料的搭配为一个类,分别继承到基类,那么N种搭配就有N个类,这是类的爆炸。 要解决这个问题我们就可以用装饰者模式了,首先来了解一个OO设计原则:类对扩展的开放,对修改的关闭。这并不矛盾,像上面的类爆炸子类的行为(继承)是在编译时就静态决定了的,且所有子类都会继承到相同的行为,要解决问题就要做到动态的扩展,在类进行扩展时不修改现有的代码而添加新的行为,这样就要动态的组合对象,弹性的应对改变,可以
阅读全文
摘要:以下为观察者模式详解:引子:假设有这样一个问题,有一条河经过一个山谷,山谷下有一个村庄,人们在山谷处修建了一个水库,并安排专人管理,当水库的水位过高时要通知下游居民注意水库的开闸放水,当水库的水温过低时要通知到水库游泳时要注意安全,那么现在我们要用OO思想用代码来设计这样一件事情,该怎么做?首先我们想像一下我们订阅报纸或杂志的过程,先向报社订阅报纸,订阅后只要这家报社还在运营就会按时把报纸送到你家,当你不想再看这家的报纸时只需要取消订阅,以后就不会再送报纸给你了。在这样一件事情中读者扮演的是一个观察者的角色,不同的读者同时接收一份报纸查看新闻,他们对新闻的关心点不一。而报社提供新闻的更新,这就
阅读全文
摘要:以下为策略模式详解:引子:使用策略就是要实现可扩展性,那么多态是不可少的。何谓可扩展性呢? 比如:我们用面向对象的思想来设计飞机,基类为飞机,飞机可以有很多种,客机,直升机,战斗机等,不同种类的飞机起飞方式和武器都不一样,那么在设计时怎样才能做到支持所有的飞机,每次加入新的种类的飞机时不要去改动之前的代码直接加入呢? 这就是我们使用策略模式要考虑的问题,如果只用继承,显然不行,这样太死板,像客机它是没有武器的,当在基类中加入了使用武器方法后,客机也具有了武器,这不科学,而且直升机和战斗机的武器不同还要强迫每一个子类都复写使用武器方法。只用接口呢?也是不行的,比如写一个武器接口,只面有一个使用武
阅读全文
摘要:优先级符号名称结合性(与操作数)目数说明1.点从左到右双目( )圆括号从左到右[ ]方括号从左到右2+正号从右到左单目-负号从右到左单目++自增从右到左单目前缀增,后缀增- -自减从右到左前缀减,后缀减~按位非/取补运算从右到左单目!逻辑非从右到左单目“!”不可以与“=”联用3*乘从左到右双目/除从左到右双目整数除法:取商的整数部分,小数部分去掉,不四舍五入%取余从左到右双目4+加从左到右双目-减从左到右双目5>带符号右移位运算符从左到右双目>>>无符号右移从左到右双目6大于从左到右双目>=大于或等于从左到右双目instanceof确定某对象是否属于指定的类从左到
阅读全文
摘要:在android中我们如果想要程序的进程结束可以这样写:
阅读全文
摘要:右键计算机—>属性—>高级系统设置—>环境变量,在用户变量那里添加jdk文件夹中的bin文件夹的路径,如:
阅读全文
摘要:首先要了解JAVA处理字符的原理。JAVA使用UNICODE来存储字符数据,处理字符时通常有三个步骤:
– 按指定的字符编码形式,从源输入流中读取字符数据
– 以UNICODE编码形式将字符数据存储在内存中
– 按指定的字符编码形式,将字符数据编码并写入目的输出流中。
所以JAVA处理字符时总是经过了两次
阅读全文

浙公网安备 33010602011771号