首页 > 编程语言 > 详细

【ThinkingInJava】7、实现组合语法

时间:2015-04-14 11:13:13      阅读:302      评论:0      收藏:0      [点我收藏+]
/**
* 书本:《Thinking In Java》
* 功能:实现组合语法,创建一个简单的类,在第二个类中,将一个引用定义为第一个类的对象。运用惰性初始化实例化这个对象
* 文件:test1.java
* 时间:2014年10月12日15:39:13
* 作者:cutter_point
*/
package Lesson7ReusingClasses;

import static net.mindview.util.Print.*;

class Simple
{
	String s;
	//构造函数,toString函数,更改函数
	public Simple(String si)
	{
		s=si;
	}
	public String toString() { return s; }
	public void setString(String newString) { s=newString; }
}

class Second
{
	Simple simple;	//类的组合
	String s;
	//构造函数,检验初始化函数,lazy惰性初始化方法,得到simple类方法,tostring方法,setsimple类方法
	public Second(String si) { s=si; }
	public void check()
	{
		if(simple == null)
			print("没有初始化simple");
		else
			print("simple已经被初始化");
	}
	public Simple lazy()
	{
		if(simple == null)
		{
			print("构造初始化simple");
			simple=new Simple(s);
		}
		
		return simple;
	}
	public Simple getSimple()
	{
		return simple;
	}
	//tostring方法,setsimple类方法
	public String toString()
	{
		return lazy().toString();
	}
	public void setSimple(String ss)
	{
		lazy().setString(ss);
	}
}

public class test1 
{
	public static void main(String [] args)
	{
		Second second=new Second("Init String");
		second.check();
		print(second.getSimple());
		second.check();
		print(second);
		second.setSimple("cutter_point good");
		print(second);
	}
}


输出:

没有初始化simple  obj1
null  obj1
没有初始化simple  obj1
构造初始化simple  obj1
Init String  obj1
cutter_point good  obj1



【ThinkingInJava】7、实现组合语法

原文:http://blog.csdn.net/cutter_point/article/details/45038571

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!