Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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»¹Üʲôǹ


Ïà¹ØÎĵµ£º

Java Éè¼ÆÄ£Ê½(12)

Observer
Intent
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
How to
Subject
  
knows its observers. Any number of Observer objects may observe a subject.
  
provides an in ......

javaÖеÄstringÀàÐÍÈ«Ãæ½âÎö

1. Ê×ÏÈString²»ÊôÓÚ8ÖÖ»ù±¾Êý¾ÝÀàÐÍ£¬StringÊÇÒ»¸ö¶ÔÏó¡£
¡¡¡¡ÒòΪ¶ÔÏóµÄĬÈÏÖµÊÇnull£¬ËùÒÔStringµÄĬÈÏÖµÒ²ÊÇnull£»µ«ËüÓÖÊÇÒ»ÖÖÌØÊâµÄ¶ÔÏó£¬ÓÐÆäËü¶ÔÏóûÓеÄÒ»Ð©ÌØÐÔ¡£
¡¡¡¡2. new String()ºÍnew String(“”)¶¼ÊÇÉêÃ÷Ò»¸öеĿÕ×Ö·û´®£¬Êǿմ®²»ÊÇnull£»
¡¡¡¡3. String str=”kvill”£»
......

java±¨±íJXLºÍPOI´òÓ¡ÉèÖÃ


JXLµÄ´òÓ¡ÉèÖÃÔÚjxl.SheetSettingsÕâ¸öÀàÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ý·½·¨Sheet£¨»òÕßWritableSheet£©#getSettings()»ñÈ¡¡£
1.Ò³Ãæ
1.1·½Ïò
SheetSetting#setOrientation(PageOrientation po)£»
²ÎÊý£º  PageOrientation#LANDSCAPE       ºáÏò´òÓ¡
PageOrientation# PO ......

ѧϰJavaÀàµÄÊôÐÔ

ѧϰJavaÀàµÄÊôÐÔ-Î人±±´óÇàÄñ
¡¡¡¡Public¡¢private¡¢protectedÏÔʾÁËÈýÖÖÀàÖеÄÊôÐԺͷþÎñµÄÀàÐÍ£¬publicÊÇ¿ÉÒÔËæÒâ·ÃÎʵġ¢privateÊÇÍâ½ç²»ÄÜ·ÃÎʵÄ(ÏÔʾÁËÊý¾ÝµÄ·â×°ÐÔ)¡¢protected˵Ã÷Êý¾ÝÊÇÊܱ£»¤µÄ¡£ÏÂÃæ¾ÍÀ´Ïêϸ½²ÊöÒ»ÏÂÕâÈý¸ö¾¿¾¹ÓÐÊ²Ã´Çø±ð¡£
¡¡¡¡Ê×ÏÈÒªÁ˽âһϰüµÄ¸ÅÄî¡£ÓÐÈô¸É¸öÀ࣬ËüÃÇÏ໥֮¼äÓÐÒ»¶¨µÄ¹ØÏ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ