易截截图软件、单文件、免安装、纯绿色、仅160KB

Java设计模式系列教程(一)工厂模式factory

今天和大家一起学习Java的设计模式。本人的水平不是很高,这系列文章只是自己学习的过程,并希望能同大家分享经验。
先说下我对工厂模式的理解:当我们需要某个对象时,最直接的办法是看到这个对象就拿过来。但是当对象非常多的时候,找起来就很不方便。这时就需要一个中介来帮助我们取得想要的东西,这个中介就是工厂(factory)。
工厂模式可分为三个分类(简单工厂模式Simple Factory、 工厂方法模式Factory Method、 抽象工厂模式Abstract Factory)
我来模拟一个场景:动物园管理员每天都要确保动物的健康,确定动物健康的一种简单方法就是听一听动物的叫声是不是正常。这样,管理员就需要随时找到任一种动物以确定动物的情况。下面是动物相关类(至于动物园为什么有猫和狗大家就不要太计较了……):
interface:Animal(动物的接口)
package com.captain.factory;
/**
* <P>Title:动物接口<p>
* @author 船长工作室
*/
public interface Animal {
void call();
}
class:Cat(猫)
package com.captain.factory;
/**
* <p>Title:猫<p>
* @author 船长工作室
*/
public class Cat implements Animal {
/**
* 猫叫
* @param 无
* @return void
*/
public void call() {
System.out.print("meow");
}
}

class:Dog(狗)
package com.captain.factory;
/**
* <p>Title:狗<p>
* @author 船长工作室
*/
public class Dog implements Animal {
/**
* 狗叫
* @param 无
* @return void
*/
public void call() {
System.out.print("bark");
}
}
class:Tiger(老虎)
package com.captain.factory;
/**
* <p>Title:老虎<p>
* @author 船长工作室
*/
public class Tiger implements Animal {
/**
* 老虎叫
* @param 无
* @return void
*/
public void call() {
System.out.print("roar");
}
}
下面先介绍简单工厂模式:
class:SimpleFactory(简单工厂)
package com.captain.factory;
/**
* <p>Title:简单工厂模式-工厂类<p>
* @author 船长工作室
*/
public class SimpleFactory {
/**
* 召唤动物
* @param s 召唤动物的种类
* @return animal 该种类的动物实例
*/
public static Animal search(String s){


相关文档:

解析Java类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

Java Mail send email

package com.eastpro.batch.biz;
//import javax.activation.*;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.internet.*;
import javax.mail.*;
import java.io.UnsupportedEncodingException;
import java.util.*;
/**
 * Insert the type's descript ......

java中final的用法

许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应用于下述两个方面:
(1) 编译期常数,它永远不会改变
(2) 在运行期初始化的一个值,我们不希望它发生变化

于编译期的常数,编译器(程序)可将常数值“封装”到需要的计算过程里。也就是说,计算可在编译期间提前执行, ......

Java程序员应该搞懂的六个问题

对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。
  问题一:我声明了什么!
String s = "Hello world!";
  许多人都做过这样的事情,但是,我们到底声 ......

注意java中的ResultSet

ResultSet如果按照列读取,是有顺序的
 
如果重复读:
int a= rs.getInt(1);
System.out.println(rs.getInt(1));
或者回头读
rs.getInt(2);
rs.getInt(1);
 
都会出:java.sql.SQLException: No data found
 
数据是顺序读取出来的,可以想像是一个指针在动,在读取出来数据。这些都是道听途说, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号