A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zlp19940327 中级黑马   /  2015-4-15 00:34  /  811 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
        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();
        }
}

评分

参与人数 1黑马币 +2 收起 理由
zeng1994 + 2 很给力!

查看全部评分

9 个回复

倒序浏览
4.this是在实例化此类对象时,会被赋值成当前对象的地址;
这句其实还是不懂!
回复 使用道具 举报
:lol·`````````````````````
回复 使用道具 举报
学习了,学习了
回复 使用道具 举报
学习了,谢谢。
回复 使用道具 举报
可以通过this实现同一个类中的构造函数之间的访问。
回复 使用道具 举报
iftom 初级黑马 2015-4-15 17:58:56
7#
学到了!!
回复 使用道具 举报
逸风 发表于 2015-4-15 11:08
4.this是在实例化此类对象时,会被赋值成当前对象的地址;
这句其实还是不懂! ...

this就是代表当前对象
回复 使用道具 举报
this代表本类对象的引用
回复 使用道具 举报
什么叫赋值成当前对象的地址?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马