java中请给出一个return this的例子。

本文通过一个日期设置类的示例介绍了链式调用的概念和实现方式。在Java类中,通过让每个setter方法返回当前对象引用,可以实现连续调用多个setter方法来设置对象属性。

【新手可忽略不影响继续学习】下面例子中setYear中的return this;返回了一个指向对象的指针,this.setMonth(8).setDay(20);是合法的,如果像原来的例子一样什么都不返回,就成了void.setMonth(8).setDay(20); 马克-to-win,系统就该报错了

 

class MyTestDate {
    int year;
    int month;

    MyTestDate(int year, int month, int day) {
        this.year = year;
        this.month = month;
    }

    MyTestDate setYear(int year) {
        this.year = year;
        return this;
    }

    public MyTestDate setMonth(int month) {
        this.month = month;
        return this;
    }


    public String toString() {
        return "" + year + "/" + month  ;
    }
}

public class Test {
    public static void main(String[] args) {
        MyTestDate date = new MyTestDate(2009, 7, 18);
        System.out.println(date);
        date.setYear(2009).setMonth(8);
        System.out.println(date);

        MyTestDate date1 = new MyTestDate(2009, 1, 1);
        System.out.println(date1);
        date1.setYear(2006).setMonth(6);
        System.out.println(date1);

    }
}
 

更多请看:https://blog.youkuaiyun.com/qq_44639795/article/details/103129514

下面是一个Java中使用WeakHashMap的例子,用于演示WeakHashMap中的键值对会在键不被引用时自动从Map中删除的情况。 ``` import java.util.Map; import java.util.WeakHashMap; public class WeakHashMapExample { public static void main(String[] args) { Map<Key, Value> map = new WeakHashMap<>(); Key key1 = new Key("key1"); Value value1 = new Value("value1"); Key key2 = new Key("key2"); Value value2 = new Value("value2"); map.put(key1, value1); map.put(key2, value2); System.out.println("Before gc: " + map); // 模拟垃圾回收 key1 = null; System.gc(); // 等待一段时间,以便垃圾回收完成 try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("After gc: " + map); } static class Key { private String name; public Key(String name) { this.name = name; } @Override public String toString() { return name; } } static class Value { private String name; public Value(String name) { this.name = name; } @Override public String toString() { return name; } } } ``` 在上面的例子中,我们创建了一个WeakHashMap,用于存储键值对。我们创建了两个键值对,并将它们放入Map中。然后,我们模拟了一次垃圾回收,并等待一段时间,以便垃圾回收完成。最后,我们打印出Map中的内容,可以看到第一个键值对已经被自动删除了。 这个例子演示了使用WeakHashMap可以避免内存泄漏的情况,同时也展示了WeakHashMap中键值对自动删除的特性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mark_to_win

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值