前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Monkey Java》课程5.0之this的使用方法

《Monkey Java》课程5.0之this的使用方法

作者头像
GitOPEN
发布2019-01-29 11:12:47
4100
发布2019-01-29 11:12:47
举报

本节课程将学习以下内容:

  • this的涵义
  • 使用this调用成员变量和成员函数
  • 使用this调用构造函数

this的涵义

this代表一个对象,它代表了调用当前类中的变量或者函数的对象。

使用this调用成员变量和成员函数

例子:(请动手)

1.新建一个名为Person.java的Java源文件:

代码语言:javascript
复制
class Person{
  String name;

  void talk(){
    // 这里的this就是一个Person的对象。
    System.out.println("My name is " + this.name);
  }
}

2.新建一个名为Demo01.java的Java源文件:

代码语言:javascript
复制
class Demo01{
  public static void main(String[] args) {
    Person p1 = new Person();
    p1.name = "zhang3";

    Person p2 = new Person();
    p2.name = "li4";

    // 由于Person类中的talk方法中,有了this.name的表达,用了this关键字,
    // 因此,当p1调用talk()方法时,this.name相当于p1.name;
    // 当p2调用talk()方法时,this.name相当于p2.name。
    p1.talk();
    p2.talk();
  }
}

使用this调用构造函数

  • 格式:this(参数1,参数2);
  • 它的作用是调用同一个类中的其他构造函数,
  • this的()中有几个参数,就会调用有几个参数的构造函数。

  • 注意:它必须放在当前构造函数的第一行。

例子:(请动手)

1.新建一个名为Dog.java的Java源文件:

代码语言:javascript
复制
class Dog{
  String name;
  int age;
  String color;

  Dog(){
    System.out.println("无参数的构造方法");
  }

  Dog(String name, int age){
    // 这里的this.name代表成员变量name,“=”后面的name就代表构造函数的参数name;
    this.name = name;
    this.age = age;

    System.out.println("2个参数的构造方法");
  }

  Dog(String name, int age, String color){
    // (重点)使用this调用构造函数
    // 格式:this(参数1,参数2);
    // 它的作用是调用同一个类中的其他构造函数,
    // this的()中有几个参数,就会调用有几个参数的构造函数
    this(name, age);
    this.color = color;

    System.out.println("3个参数的构造方法");
  }

  void shout(){
    // 这里的this就是一个Person的对象。
    System.out.println("Dog's name is " + this.name);
  }
}

2.新建一个名为Demo02.java的Java源文件:

代码语言:javascript
复制
class Demo02{
  public static void main(String[] args) {
    Dog dog1 = new Dog("小白", 1, "白色");
    System.out.println("=============我是分割线=============");
    Dog dog2 = new Dog("小黑", 3);
  }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/07/13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • this的涵义
  • 使用this调用成员变量和成员函数
  • 使用this调用构造函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档