JavaÉè¼ÆÄ£Ê½Ö®¹¤³§Ä£Ê½
A:
Éè¼ÆÄ£Ê½Ö®Factory(¼òµ¥¹¤³§Ä£Ê½¡¢¹¤³§·½·¨ºÍ³éÏ󹤳§)
Á˽ⷴÉ䣺
Class.forName().newInstance();
1.¼òµ¥¹¤³§·½·¨
½ÇÉ«£º
¾ßÌ幤³§
³éÏó²úÆ·
¾ßÌå²úÆ·
±ÈÓ÷£º
Ò»¸ö²úÒµ½á¹¹µ¥Ò»£¬Ö»×¨ÃÅÒ»¸ö²úÆ·ÁìÓòµÄС¹¤³§£¬ÈçÈí¼þ¡£
2¹¤³§·½·¨
½ÇÉ«£º
³éÏ󹤳§£º²»×ö¾ßÌåµÄ¹¤×÷£¬Íê³ÉÉú²ú²úÆ·Ëù±ØÐëµÄ¹¤×÷£¬È磺ÉêÃ÷²úȨ
¾ßÌ幤³§
³éÏó²úÆ·
¾ßÌå²úÆ·
±ÈÓ÷£º
¹«Ë¾ÔÚ·¢Õ¹£¬¿ªÊ¼Éú²ú²»Í¬ÁìÓòµÄ²úÆ·£¬ÈçÈí¼þºÍÓ²¼þ¡£
3³éÏ󹤳§·½·¨
½ÇÉ«£º
²úÆ·×壺²»Í¬ÁìÓò²úÆ·µÄ×éºÏ£¬Æ©È磺¼ÆËã»ú²úÆ·
³éÏ󹤳§
¾ßÌ幤³§
³éÏó²úÆ·
¾ßÌå²úÆ·
±ÈÓ÷£º
Æóҵ׳´ó£¬¿ªÊ¼ÈÚºÏ×Ô¼ºµÄ²úÆ·£¬Èç¾¼ÃÐÔ¼ÆËã»ú¡¢ÉÌÒµÐÔ¼ÆËã»úµÈµÈ£¬ÆäÖÐÿ¸ö¾ßÌ幤³§Ö»Éú²ú×Ô¼º²úÆ·×åµÄ²úÆ·¡£
ÏÂÃæÊÇÏêϸ½²½âºÍСÀý×Ó£º
×¢ÒâÀí½âÉÏÃæµÄ±ÈÓ÷£¬¸üÓÐÀûÓÚÀí½â¹¤³§Ä£Ê½£¨Factory£©
1.Simple Factory
ÊÊÓÃÇé¿ö£º
Ò»°ãÇé¿öÏ£¬¼òµ¥¹¤³§Ê¹ÓÃÓÚÀàµÄ·ÖÀ಻̫Ã÷ÏÔ£¬Àà¹ØÏµµ¥Ò»£¬ÖÖÀ಻¶à£¬¶øÇÒ²»¾³£¸üеÄÇé¿ö£¬µ±È»£¬ÎÒÒ²ÊdzõѧÕߣ¬²»ÄÜ¿¼Âǵ½·½·½ÃæÃ棬ÔÚǰ½øÖÐѰÕÒ°É£¡
Óŵ㣺
·½±ã´´½¨¶àÖÖ¶ÔÏ󣬲»Ò×»ìÏý£¬Âß¼ÇåÎú¡£
ȱµã£º
¹¤³§ÀàµÄ¹¤×÷»áËæ×ÅÀàÖÖÀàµÄÔö¼Ó¶ø¼ÓÖØ¡£
Àý×Ó´úÂ루ע£º´úÂëÊÇûÓÐʵ¼ÊÒâÒåµÄ£¬Ã»ÓÐÔËÐеıØÒª£¬¿ÉÄÜ´æÔÚÓï·¨´íÎ󣩣º
СÆóÒµ£ºÉú²úµçÄÔÓ²¼þCPU£¬ÈçCPUa,CPUb,CPUc·Ö±ð´ú±íÈý¸öÖÖÀàµÄCPU
public abstract class CPU{
}
public class CPUa extends CPU{
public void getInfo() {
System.out.println("CPUa");
}
}
public class CPUb extends CPU{
public void getInfo() {
System.out.println("CPUb");
}
}
public class CPUc extends CPU{
public void getInfo() {
System.out.println("CPUc");
}
}
¾ßÌåµÄ¹¤³§Àࣺ
Public class CPUFactory {
Public static CPU produceCPU(Type t){ //Ò»°ãÖ»ÓÃÓÚ·µ»ØÐ¶ÔÏó£¬ËùÒÔÒ»°ã·½·¨Îªstatic£¬±ãÓÚʹÓã¬Ìá¸ßЧÂÊ
If(t==a)
Return new CPUa();
If(t==b)
Return new CUPb();
If(t==c)
Rerurn new CPUc();
}
}
¿Í»§¶ËʹÓ
Ïà¹ØÎĵµ£º
1 SimpleDateFormatµ£µ±ÖØÈÎ,ÔõÑù¸ñʽ»¯¶¼ÐÐ
import java.util.Date;
import java.text.SimpleDateFormat;
public class Demo
{
public static void main(String[] args)
{
Date now=new Date();
SimpleDateFormat f=newSimpleDateFormat("½ñÌìÊÇ"+"yyyyÄêMMÔÂddÈÕ E kkµãmm·Ö");
System.out.println(f.fo ......
½ñÌìÅöµ½Ò»¸öºÜÓÐÒâ˼µÄÎÊÌ⣬¾ÍÊǹØÓÚʹÓÃLinkedList×÷ΪHashMap»òÕßHashtableµÃkey£¬µ«ÊÇ×îºó·¢ÏÖÊý¾Ý²¢Ã»ÓÐ´æ½øÈ¥¡£
Ê×ÏÈ˵һÏÂHashMap£¬Hashtable°É£¬ËüÃǶ¼¼Ì³ÐÁËCloneable, Map, Serializable¡£ËüÃÇÁ½¸ö»ù±¾ÉÏÊÇÒ»ÑùµÄ£¬“The HashMap
class is roughly equivalent to Hashtable
, except that it is
unsy ......
package com.tiantian;
import java.util.*;
public class JAVAContainer {
public static void main(String[] args) throws Exception {
// ArrayList
{
&nb ......
JAVA³ÌÐò·´±àÒ빤¾ß
ÏÂÔØµØÖ·£ºhttp://java.decompiler.free.fr/?q=jdgui
JD-GUI
JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.
JD-GUI is fre ......