JavaÉè¼ÆÄ£Ê½Ö®State(״̬ģʽ)
¶¨Ò壺
GOF¡¶Éè¼ÆÄ£Ê½¡·Öиø×´Ì¬Ä£Ê½ÏµĶ¨ÒåΪ£ºÔÊÐíÒ»¸ö¶ÔÏóÔÚÆäÄÚ²¿×´Ì¬¸Ä±äʱ¸Ä±äËüµÄÐÐΪ¡£
ÏÈ¿´Ò»¸öÀý×Ó£º
package com.state;
public class KissingPrincess {
// ±ê־룬±êÖ¾ÊÇÇàÍÜ»¹ÊÇÍõ×Ó¡£
private boolean isFrog = true;
// ¸ù¾ÝisFrog½øÐв»Í¬µÄ²Ù×÷¡£
public void greet() {
if (isFrog)
System.out.println("frog!");
else
System.out.println("prince!");
}
// ½«isFrogÉèÖóÉfalse¡£
public void kiss() {
isFrog = false;
}
// Ö÷º¯Êý¡£
public static void main(String[] args) {
KissingPrincess prince = new KissingPrincess();
prince.greet();
prince.kiss();
prince.greet();
}
}
Êä³ö½á¹û£º
frog!
prince!
Õâ¸öÀý×ÓÖУ¬ÓÃÁËÒ»¸ö±äÁ¿isFrogÀ´±êʶÊÇÇàÍÜ»¹ÊÇÍõ×Ó£¬Èç¹ûÊÇÍõ×ӵϰ£¬Êä³ö"prince!"£¬ÊÇÇàÍܵϰ£¬Êä³ö:“frog!”¡£
±¾ÀýÖеÄд·¨£¬ÓøöÅóÓѵϰÀ´Ëµ£¬Ö»ÊÇ“ÈëÃż¶³ÌÐòÔ±µÄд·¨”¡£ÔÚjavaÖУ¬ÒªÊ±Ê±×¢ÒâOOP(Object Oriented Programming)µÄ¸ÅÄî¡£
Èç¹û״̬ºÜ¶àµÄ»°£¬¾Í»áʹÓúܶàif else Óï¾ä£¬²»½ö·±ËöÄÑÓÚά»¤£¬¶øÇÒûÓÐÌåÏÖ³öÃæÏò¶ÔÏó±à³ÌµÄ˼Ïë¡£
¶ÔÉÏÀýÓ¦ÓÃ״̬ģʽºó£¬¿ÉÒÔ±ä³ÉÈçϵĴúÂ룺
package com.state;
public class KissingPrincess2 {
private State state = new Frog();
private interface State {
void response();
}
private class Frog implements State {
@Override
public void response() {
System.out.println("frog!");
}
}
private class Prince implements State {
@Override
public void response() {
System.out.println("prince!");
}
}
public void greet() {
state.response();
}
public void change(State state) {
this.state = state;
}
public static void main(String[] args) {
KissingPrincess2 prince2 = new KissingPrincess2();
prince2.greet();
prince2.change(prince2.new Prince());
prince2.greet();
}
}
Êä³ö½á¹û:
frog!
prince!
ÉÏÊöÀý×Ó¾ÍÊÇstateģʽµÄ»ù±¾Ë¼Ï룬ϣÍû¶ÁÕßÅóÓÑÃÇÈÏÕæÌå»á¡£
ÕâÀïÔپٸöstateģʽµÄÀý×Ó£º
Íæ¹ýcsµÄÈ˶¼ÖªµÀ£¬csÀïÃæÓкܶàǹ£¬ak47°¡£¬m16°¡£¬µ«ÊDz»¹Üʲôǹ
Ïà¹ØÎĵµ£º
File f=new File("DerectoryName");
String []results=f.list();
import java.io.*;
¡¡¡¡public class listFile
¡¡¡¡{ &nb ......
¹¤×÷ÒѾÓаëÄêÁË£¬Í»È»Ïëдµã¶«Î÷£¬´óѧµÄʱºò¾ÍÓÐдÈռǵÄϰ¹ß£¬µ«ÊÇ×Ô´ÓÈ¥Java06°àѧϰһֱµ½ÏÖÔÚ¹¤×÷£¬ÂýÂýµÄҲûÓÐʱ¼äȥдÈռǣ¬Ï£Íûͨ¹ýÕâÆªÎÄÕÂÄÜÈÃJava˽ÛÓµÄѧµÜѧÃÃÃÇ¿´ÁËÓÐËù°ïÖú¡£
ÏàÐźܶàͬѧºÜÎÒÒ»Ñù´óËĵÄʱºò¶¼±È½ÏÃÔ㣬ÓÈÆäÊÇÎÒ¶ÁµÄ¼ÆËã»úרҵ£¬ËµÊµ»°´óѧÀïѧµÄºÍÉç»áʵ¼ÊÐèÒªµÄ» ......
Java±à³ÌÄÇЩʶù1——ÐòÑÔ
Java±à³ÌÄÇЩʶù2——³ÌÐòÉè¼ÆÊÇʲô£¿
Java±à³ÌÄÇЩʶù3——ÄãÊʺÏѧϰ³ÌÐòÉè¼ÆÂð£¿
Java±à³ÌÄÇЩʶù4——ÈçºÎѧºÃ³ÌÐòÉè¼Æ£¿
Java±à³ÌÄÇЩʶù5——³ÌÐòÉè¼Æ½éÉÜС½á
Java±à³ÌÄÇЩʶù6——¼ÆËã»úÈí¼þ»ù±¾¸ÅÄî
Java±à ......
±¾ÎÄÀ´×Ô£ºhttp://www.javaeye.com/topic/130025 1 ¼ò½é<o:p></o:p> ¶ÔÏóÐòÁл¯(Serializable)ÊÇÖ¸½«¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì£¬¶ø·´ÐòÁл¯ÔòÊǸù¾Ý×Ö½ÚÐòÁлָ´¶ÔÏóµÄ¹ý³Ì¡£<o:p></o:p> ÐòÁл¯Ò»°ãÓÃÓÚÒÔϳ¡¾°£º<o:p></o:p> 1. ÓÀ¾ÃÐÔ±£´æ¶ÔÏ󣬱£´æ¶ÔÏóµÄ×Ö½ÚÐòÁе½±¾µ ......
ÊÖÉÏÒ»¸öÏîÄ¿ÐèҪͨ¹ýusb¿ÚÈ¥¶ÁÈ¡usbkeyµÄÐÅÏ¢£¬³§¼ÒÌṩµÄÖ»ÓÐC/C++µÄ½Ó¿Ú£¬¶øÖ÷Ó¦ÓÃÊÇjavaµÄ£¬ËùÒÔÐèҪʹÓÃjavaÈ¥µ÷Óö¯Ì¬Á´½Ó¿â£¬ËùÒÔ»¨Á˵ãʱ¼äÑо¿ÁËÏÂJNI¼¼Êõ£¬jdk¶ÔJNI¼¼Êõ·â×°µÃºÜµ½Î»£¬Ê¹ÓÃÆðÀ´·Ç³£¼òµ¥£¬JNI¼¼Êõ×î¹Ø¼ü»¹ÊÇÔÚÓÚjniÊý¾ÝÀàÐͺͱ¾µØÊý¾ÝÀàÐ͵Äת»»¡£Ïȼòµ¥ÂÞÁÐÏÂJNIµ ......