黑马程序员技术交流社区

标题: this的应用 看毕老师视频 自己敲的 写了一些自己的注释 [打印本页]

作者: 平凡的鱼    时间: 2015-9-14 19:03
标题: this的应用 看毕老师视频 自己敲的 写了一些自己的注释
/*
this 的应用  
this应用在函数内部要调用该函数的对象的时候,这个时候用this来表示这个对象


this 在构造函数间调用   构造函数间调用 只能用this来调用
*/
class Demo_71this{
        public static void main(String[] args) {
                PersonDemo p=new PersonDemo("张肖",23);
                System.out.println(p.country);
                System.out.println(PersonDemo.country);
        }
}
class PersonDemo{
        private int age;       
        private String name;
        static String country="cn";
        PersonDemo(){
                        //this.(name);                                                        // 情况(1)   不允许出现this.(name);和this.();互相调用的情况  相当于出现了无限循环调用
        }
        PersonDemo(String name){
                this.name="haha";
                System.out.println("----------");
                System.out.println(this.name);
                //this();                                                                                //出现情况(1)
        }
        PersonDemo(String name,int age){                                                //因为this语句是类的先初始化动作   要最先执行
                this(name);                                                                                        //this语句只能出现在构造函数的第一行
        }                                                                                                                //调用的是PersonDemo(String name);的构造函数  
}

作者: hong774997735    时间: 2015-9-14 19:34
this.name = name
作者: 莫盛强    时间: 2015-9-14 21:33
你看看这个怎么解释才好理解,我也懂是当前对象

QQ图片20150914104226.png (5.22 KB, 下载次数: 20)

QQ图片20150914104226.png

作者: 平凡的鱼    时间: 2015-9-15 21:14
莫盛强 发表于 2015-9-14 21:33
你看看这个怎么解释才好理解,我也懂是当前对象

name是个数组把   this不是代表当前对象引用吗   
this.name.length()  代表的是当前类中的name数组长度
s.name.length()      代表的是s类中name数组的长度
你引用了Student类中的  name数组  
用本类中name数组的长度减去Student类中的name数组得出的数就是num
个人理解 不知道对不对
作者: 洋葱头头    时间: 2015-9-15 21:56
赞一个




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