Java 习题 (58)

题目:
创建一个简单的类。在第二个类中,将一个引用定义为第一个类的对象。运用惰性初始化来实例化这个对象。

解答:

package seven;

class one {
    String s;

    public one(String s1) {
        s = s1;
    }

    public String toString() {
        return s;
    }

    public void setString(String snew) {
        s = snew;
    }
}

class second {
    one One;

    String s;

    public second(String s1) {
        s = s1;
    }

    public void check() {
        if(One == null) {
            System.out.println("NOT INITIALIZED");
        } else {
            System.out.println("INITIALIZED");
        }
    }

    // Lazy Initlization
    private one lazy() {
        if(One == null) {
            System.out.println("Create a One");
            One = new one(s);
        }
        return One;
    }

    public one getOne() {
        return lazy();
    }

    public String toString() {
        return lazy().toString();
    }

    public void setOne(String sOne) {
        lazy().setString(sOne);
    }
}

public class exerciseOne {
    public static void main(String[] args) {
       second S = new second("STRING INITIALIZED");
       S.check();
       System.out.println(S.getOne());
       S.check();
       System.out.println(S);
       S.setOne("NEW STRING");
       System.out.println(S);
    }
}

结果如下:
在这里插入图片描述
如果觉得不错,就用点赞或者关注或者留言,来代替五星好评吧~
谢谢各位~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值