前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中this这个概念初学者非常难理解,请举例说明

java中this这个概念初学者非常难理解,请举例说明

作者头像
马克java社区
修改2021-03-15 10:13:23
2550
修改2021-03-15 10:13:23
举报
文章被收录于专栏:java大数据

4.this关键字(this key word)

继上一小节,(3.一个对象可能有多个参考)this是当中的一个参考!指向他自己。

class MyTestDate {

    int year;

    int month;

    MyTestDate(int year, int month, int day) {

/* 为了学习this的用法,本例中,我们故意用了两个相同的year,一个是全类作用范围的(整个类中都有效马克-to-win):int year; 另外一个是,只有本块儿才起作用的块作用范围的MyTestDate(int year, 这两个year不是一个year,如果把this.year = year; 变成 year = year,这两个year都成了块作用范围的那个year, 这样全类作用范围的那个year等于没赋值,还是0,输出结果就会变成0/0/0, if here you use year = year;month = month; result is 0/0/0, because this.year still is 0.local variable 's scope is less than the "this" variable's scope.

*/

        this.year = year;//this.year指前面类范围的变量 int year。

        this.month = month;

    }

    void setYear(int year) {

        this.year = year;

    }

    void setMonth(int month) {

        this.month = month;

    }

/*系统见到System.out.println,会自动调用toString,初学者没必要深究*/

    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);

        date.setMonth(5);

        System.out.println(date);

        MyTestDate date1 = new MyTestDate(2009, 1, 1);

        System.out.println(date1);

        date1.setYear(2006);

        date1.setMonth(6);

        System.out.println(date1);

    }

}

更多请看:https://blog.csdn.net/qq_44639795/article/details/103129544

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档