黑马程序员技术交流社区

标题: this的用法实例展示 [打印本页]

作者: 竹叶君子    时间: 2015-3-4 16:23
标题: this的用法实例展示
  1. class  Person
  2. {
  3.          String name;   //定义成员变量
  4.           int age;
  5.          Person()      //构造方法
  6.               {
  7.                    System.out.println("this()语句被执行");  //判断this()语句是否执行
  8.               }

  9.           Person(String name)     //构造方法
  10.               {
  11.                      this();     //this语句只能放在构造函数的第一行
  12.                      this.name=name;
  13.                       System.out.println("在创建对象时this(name)语句被执行,"+"这里的this是"+this.name+"所属的对象");   
复制代码
this有两种用法:
1this关键字用于区分局部变量和成员变量同名情况。
   this代表它所在函数所属对象的引用,简单地说,哪个对象在调用this所在的函数,this就代表哪个对象。
2this语句用于构造函数之间进行互相调用。
   this语句只能定义在构造函数的第一行,因为初始化要先执行。并且this()不能用用在一般函数中,只能用在构造函数间。
上述代码是我对this的用法的理解举例,请大家多多指教!!
运行结果如下:


作者: 竹叶君子    时间: 2015-3-4 16:24
这是完整的代码
class  Person
{
    String name;   //定义成员变量
    int age;
   Person()      //构造方法
   {
     System.out.println("this()语句被执行");  //判断this()语句是否执行
   }

   Person(String name)     //构造方法
   {
      this();     //this语句只能放在构造函数的第一行
      this.name=name;
      System.out.println("在创建对象时this(name)语句被执行,"+"这里的this

是"+this.name+"所属的对象");    //判断this(name)语句是否执行
   }
   
   Person(String name,int age)    //构造方法
   {
      this(name);      //this语句只能放在构造函数的第一行,调用构造函数
      this.name=name;  //此处this为关键字,用于区分成员变量和局部变量
      this.age=age;
      
      System.out.println("我叫"+this.name+"我的年龄是"+this.age);  
      System.out.println();   
     
   }

}

class ThisDemo2
{
    public static void main(String[] args)  //主函数
        {
                Person p = new Person("zhangsan",30);  //创建对象
                Person p1 = new Person("lisi",36);

        }
}
作者: 竹叶君子    时间: 2015-3-5 10:36
有谁知道,上面我发的帖子中,代码怎么只显示出来一部分啊,是不是目前权限不够,代码数量有限制??
作者: qq10763582    时间: 2015-3-5 10:40
学习了,谢谢
作者: 陈酷    时间: 2015-3-5 10:46
来学习看看




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