Java对象生成器
来源:互联网 发布:msvcr110.dll软件 编辑:程序博客网 时间:2024/04/28 19:37
//Java简单的对象工厂
/*
* Main.java
*
* Created on 2007年9月24日, 上午00:40
* @author ouskylin
*
**/
import java.util.Date;//using the Date Class to testing
/**
* Factory Class explain
* 一个产生对象的工厂,用来生成任意类型的对象
* 使用一个对象的实例来初始化一个特定的工厂
* GetMeObject将以这个对象的实例做为
* 一个特定的模板获得的该类型的"新"对象
*
*
*/
///*
class Factory {
private int _count;//对象产生计数器
private Object _ob;//对象工厂的类型,也就是产生对象的类型
private String _factoryName; //Factory Name is output object'name
public Factory (Object ob){
_ob=ob;
_factoryName=ob.getClass ().toString ();
}
/**
* GetMeObject返回这个对象工厂类型的新对象
* @return Object
*/
public Object GetMeObject (){
/* Mode one
//
Object o=new Object();
o=_ob;
++_count;
return o;
//*/
//* Mode two;
++_count;
//【技术点】
//看似返回的都是初始化时的_ob对象,实则在这个新引用对象内部有所改变的时候
//会被分配新的堆空间(构建一个全新的对象),这得感谢于Java内置的对象内存
//管理机制
return _ob;
//*/
}
public void ChengeFactoryObject (Object o){
_factoryName=o.getClass ().toString ();
_ob=o;
_count=0;
}
public String GetFactoryName (){
return _factoryName;
}
public int GetFactoryObjectCount (){
return _count;
}
}
//没有任何功能的作测试用的类
class TestClassABC{
public String toString(){
return "This is a TestClassABC' s Object";
}
}
//*/
public class Main {
/** Creates a new instance of Main */
public Main () {
}
/**
* @param args the command line arguments
*/
public static void main (String[] args) {
System.out.println ("Access");
Factory f=new Factory (new TestClassABC ());//工厂f
Factory f2=new Factory(new String("Testing"));//工厂f2
Object a=f.GetMeObject ();
Object b=f.GetMeObject ();
//*Test Block
//b="aa";
a="bb";
System.out.println (a+" "+b);
if(a==b)
System.out.print ("a == b/n");
else
System.out.print ("a != b/n");
if(a.equals(b))
System.out.print ("a equals b/n");
else
System.out.print ("a not equals b/n");
if(a.getClass ().equals (b.getClass ()))
System.out.print ("a class name equals b/n");
else
System.out.print ("a class name not equals b/n");
//*/
System.out.println ("这个对象工厂能够产生的对象名称: "+f.GetFactoryName ());
System.out.println ("至今为止工厂产生的对象"+f.GetFactoryName ()+"数是:"+f.GetFactoryObjectCount ());
//System.out.println(a);
System.out.println ("这个对象工厂能够产生的对象名称: "+f2.GetFactoryName ());
System.out.println ("至今为止工厂产生的对象"+f2.GetFactoryName ()+"数是:"+f2.GetFactoryObjectCount ());
f.ChengeFactoryObject (new Integer (0));
Object t1=f.GetMeObject ();
Object t2=f.GetMeObject ();
System.out.println ("这个对象工厂能够产生的对象名称: "+f.GetFactoryName ());
System.out.println ("至今为止工厂产生的对象"+f.GetFactoryName ()+"数是:"+f.GetFactoryObjectCount ());
//t1=100;
//System.out.println (t1);
//System.out.println (t2);
f.ChengeFactoryObject(new Date());
Date d1=(Date)f.GetMeObject();
Date d2=(Date)f.GetMeObject();
}
}
- Java对象生成器
- 我所理解的生成器(关键词:生成器对象/生成器/生成器表达式/生成器函数/生成器类/generator/yield/__iter__)
- JSON生成器,JSON对象转换器
- 生成器对象的send方法
- Python迭代器,可迭代对象,生成器
- Java Bean 生成器
- Java Bean 生成器
- java的代码生成器
- java代码生成器
- java代码生成器
- Java代码生成器
- java代码生成器
- Java设计|生成器模式
- java令牌生成器
- 关于java代码生成器
- java代码生成器
- java Sequence生成器
- Hono代码生成器(JAVA)
- Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
- 10款常用Java测试工具
- Java Web实践专题——信息显示
- 在TOMCAT下实现基于表单验证的登陆方式
- 完全清除恼人的DLL后门秘诀!
- Java对象生成器
- 内部排序
- Comparator,Comparable接口区别
- IT168网络安全攻防大奖赛开幕
- SQL SERVER中如何取汉字的长度
- 解决不能通过mysql.sock连接MySQL问题的办法
- 无意中在网上看到的文章,都是针对fedora core 6的问题
- 禁用页面缓存。目的:用户登录后退出。点击浏览器后退按钮造成的问题
- ubuntu中将程序的快捷方式添加到“应用程序”中的方法