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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 竹叶君子 中级黑马   /  2015-3-4 16:23  /  823 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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的用法的理解举例,请大家多多指教!!
运行结果如下:

4 个回复

倒序浏览
这是完整的代码
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);

        }
}
回复 使用道具 举报
有谁知道,上面我发的帖子中,代码怎么只显示出来一部分啊,是不是目前权限不够,代码数量有限制??
回复 使用道具 举报
学习了,谢谢
回复 使用道具 举报
来学习看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马