java组合语法_【ThinkingInJava】7、实现组合语法

/**

* 书本:《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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值