前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础学习-this关键字

Java基础学习-this关键字

原创
作者头像
FutureTester
发布2021-12-19 14:38:18
2330
发布2021-12-19 14:38:18
举报
文章被收录于专栏:FutureTester

this的作用:

  • this表示的是当前对象本身
  • 更准确地说,this代表当前对象的一个引用。

构造方法中使用this:

  • 使用this来调用其它构造方法
  • 位置:必须是第一条语句

当构造方法中的参数名跟类的成员变量名称一样的时候,可以使用this代表当前对象

(*******有了this之后,可以将构造方法的参数跟成员变量保持一致*******)

代码语言:javascript
复制
public class ThisDemo1 {
    String name;
    int age;
    //构造方法中使用this
    public ThisDemo1(String name,int age){
        this.name =name;
        this.age = age;
    }

    public static void main(String[] args) {
        ThisDemo1 td = new ThisDemo1("lisi",23);
        System.out.println(td.name);
        System.out.println(td.age);
    }
}

当构造方法中需要调用其他的构造方法时,可以使用this().

代码语言:javascript
复制
public class ThisDemo {
    String name;
    int age;
    public ThisDemo(){

    }
    public ThisDemo(String name){
        System.out.println("one");
        this.name =name;
    }

    public ThisDemo(String name,int age){
        this(name);//this调用其他构造方法,必须位于方法体的第一行
        System.out.println("two");
        this.name =name;
        this.age = age;
    }

    public static void main(String[] args) {
        ThisDemo td = new ThisDemo("lisi",23);
        System.out.println(td.name);
        System.out.println(td.age);
    }
}

普通方法中使用this:

  • 区分类成员属性和方法的形参
  • 调用当前对象的其他方法(可以省略)
  • 位置:任意位置

当多个普通方法之间需要调用的时候,可以使用this来进行调用,指的是当前对象的其他方法

代码语言:javascript
复制
public class ThisDemo1 {
    String name;
    int age;
    //构造方法中使用this
    public ThisDemo1(String name,int age){
        this.name =name;
        this.age = age;
    }

    public void test1(){
        System.out.println("test1");
    }
    //普通方法中使用this
    public void test2(){
        System.out.println("test2");
        this.test1();
    }

    public static void main(String[] args) {
        ThisDemo1 td = new ThisDemo1("lisi",23);
        System.out.println(td.name);
        System.out.println(td.age);
        td.test2();
    }
}

成员变量使用this:

当方法中的参数名称跟成员变量保持一致的时候,使用this.变量名称表示的是对象的值,而使用变量名称表示形参列表中的值

代码语言:javascript
复制
public class ThisDemo1 {
    String name;
    int age;
    //构造方法中使用this
    public ThisDemo1(String name,int age){
        this.name =name;
        this.age = age;
    }

    public void test1(){
        System.out.println("test1");
    }
    //普通方法中使用this
    public void test2(String name){
        System.out.println("test2");
        this.test1();
        //打印参数里面的属性
        System.out.println(name);
        //打印当前对象的属性
        System.out.println(this.name);
    }

    public static void main(String[] args) {
        ThisDemo1 td = new ThisDemo1("lisi",23);
        System.out.println(td.name);
        System.out.println(td.age);
        td.test2("huahua");
    }
}

注意:this不能用于static方法

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • this的作用:
  • 构造方法中使用this:
  • 普通方法中使用this:
  • 成员变量使用this:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档