黑马程序员技术交流社区

标题: 理解了一下this关键字 [打印本页]

作者: zlp19940327    时间: 2015-4-15 00:34
标题: 理解了一下this关键字
/*
        this关键字的概念:

        1.成员方法是可以访问成员属性的;
        2.对于一个类中的"成员属性",是每个对象都拥有一份独立存储空间;
                对于"成员方法",是所有对象共享一个"方法空间";
        3.this是一个隐式的变量;任何类都有的;
        4.this是在实例化此类对象时,会被赋值成当前对象的地址;
        5.一般情况下,this 是Java内部隐式使用的。
        6.但是,有些时候我们需要必须显示的使用:
                1).局部变量覆盖成员变量时,如果要访问成员变量,可以使用:this.成员变量名
*/
class Student
{
        String stuName;
        int num;

        void show(){
                int num = 1;
                num = 10;
                System.out.println("大家好,我叫:" + stuName);
                System.out.println("num = " + num);//局部变量覆盖成员变量。默认使用"就近原则",访问的是局部变量的num。
                System.out.println("this.num = " + this.num);//访问的就是被覆盖的成员变量;
        }
}
class Demo
{
        public static void main(String[] args)
        {
                Student stu = new Student();
        //        stu.show();//大家好,我叫:null
                stu.stuName = "刘德华";
                stu.show();//大家好,我叫:刘德华

                Student stu2 = new Student();
                stu2.stuName = "张学友";
                stu2.show();
        }
}


作者: 逸风    时间: 2015-4-15 11:08
4.this是在实例化此类对象时,会被赋值成当前对象的地址;
这句其实还是不懂!
作者: liurongzhi1991    时间: 2015-4-15 11:50
:lol·`````````````````````
作者: b277967086    时间: 2015-4-15 12:36
学习了,学习了
作者: nate996    时间: 2015-4-15 17:28
学习了,谢谢。
作者: 弯曲/mg抛物☀    时间: 2015-4-15 17:42
可以通过this实现同一个类中的构造函数之间的访问。
作者: iftom    时间: 2015-4-15 17:58
学到了!!
作者: zlp19940327    时间: 2015-4-15 18:43
逸风 发表于 2015-4-15 11:08
4.this是在实例化此类对象时,会被赋值成当前对象的地址;
这句其实还是不懂! ...

this就是代表当前对象
作者: WangHe9527    时间: 2015-4-15 23:08
this代表本类对象的引用
作者: IT我的梦    时间: 2015-4-15 23:12
什么叫赋值成当前对象的地址?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2