王吉元-NWPU

导航

 

2013年5月3日

摘要: 装饰模式可以给一个对象动态的添加一些额外的职责(通过装载兄弟类对象的方式)。就增加功能来说,装饰模式比生成子类更加灵活。接下来我举一个例子:Finery类是Person类的子类。BigTrouser类和TShirt类是 Finery类的子类。现在想给BigTrouser类的对象 添加穿TShirt的功能,就要采用装饰模式。先上代码:package com.wjy.decorator;public class Person { private String name; public Person(){ } public Person(String name){ ... 阅读全文
posted @ 2013-05-03 16:00 王吉元 阅读(119) 评论(0) 推荐(0) 编辑
 
摘要: 解决的办法是:在EntityModel中不用 implements Ibodyinfo。而是实现getAdapter方法:public Object getAdapter(Class adapter){ if(adapter==Ibodyinfo.class) return new BodySource(this); return null; }其中BodySource的代码如下;package com.wjy.understandinterface;public class BodySource implements Ibodyinfo... 阅读全文
posted @ 2013-05-03 09:59 王吉元 阅读(160) 评论(0) 推荐(0) 编辑
 
摘要: 例如一个EntityModel类拥有很多属性信息:name,age,height,weight。现在如果想使用其中的height和weight,可以定义一个接口Ibodyinfopackage com.wjy.understandinterface;public interface Ibodyinfo {public abstract double getHeight();public abstract double getWeight();}然后让EntityModel类去实现这个接口,就可以像一下这样获得height和weight信息了。Ibodyinfo bodyinfo=new Ent 阅读全文
posted @ 2013-05-03 09:39 王吉元 阅读(366) 评论(0) 推荐(0) 编辑
 
摘要: DF对组合模式的说明是这样的:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。DF对装饰模式的说明是这样的:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。个人认为 组合模式 和 装饰模式 很像。都是通过类似于setComposite的方法进行类似于递归的组装。但是 组合模式中的setComposite方法可以多次调用存入List中。而装饰模式只是组装一个对象,即用setComposite装载一个兄弟类的对象。之所以有这样的区别,是因为他们的出发点不同。组合模式是为了组装树形结构,所以使用List存储子节 阅读全文
posted @ 2013-05-03 09:14 王吉元 阅读(173) 评论(0) 推荐(0) 编辑
 
摘要: 上代码:Person类package com.wjy.adaptable.entity;import com.wjy.adaptable.adaptabler.MainOperator;public class Person implements IAdaptable{ public String name; public int age;public String getName() { return name;}public void setName(String name) { this.name = name;}public int getAge() { re... 阅读全文
posted @ 2013-05-03 09:12 王吉元 阅读(155) 评论(0) 推荐(0) 编辑
 
摘要: 单例模式理解起来比较简单,顾名思义就是只能有一个实例。DF的定义是这样的: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。实现起来是这样的:package com.wjy.singleton;public class Singleton { private static Singleton instance; private Singleton()//私有的构造函数保证了外界不会使用new来创建它的实例。 { } public static Singleton getInstance()//这个方法是获得本类实例的唯一的全局访问点,设为static使之可以直接用类名调用。 { if(i 阅读全文
posted @ 2013-05-03 08:50 王吉元 阅读(162) 评论(0) 推荐(0) 编辑
 

2013年4月12日

摘要: 上代码:package com.wjy;public class Test {public static void main(String[] args) {int[] attay = new int[5];for (int i : attay) {System.out.println("it is " + i);}}}运行结果:it is 0it is 0it is 0it is 0it is 0 阅读全文
posted @ 2013-04-12 09:51 王吉元 阅读(138) 评论(0) 推荐(0) 编辑
 
摘要: 上代码:package com.wjy;public class Test { public static void main(String[] args){ Student s1=new Student(99); }}class Student{public static Student stu=new Student(22);//这里必须要static修饰,否则会出错。public Student(int age){System.out.println("The age is: "+age);}}运行结果:The age is: 22The age is: 99再看一个 阅读全文
posted @ 2013-04-12 09:48 王吉元 阅读(165) 评论(0) 推荐(0) 编辑
 

2013年4月11日

摘要: 转自:http://j2eemylove.iteye.com/blog/1195823List,Set,Map是否继承自Collection接口? 答:List,Set是,Map不是。 如图: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而另一... 阅读全文
posted @ 2013-04-11 13:28 王吉元 阅读(296) 评论(0) 推荐(0) 编辑
 
摘要: Set的继承关系:Collection └Set Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现) set 一般无序不重复代码如下:package com.wjy;import java.util.HashSet;import java.util.Iterator;import java.util.Set;public c.. 阅读全文
posted @ 2013-04-11 13:26 王吉元 阅读(273) 评论(0) 推荐(0) 编辑