• 084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字


    084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字

    本文知识点:构造方法-this关键字

    说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

    上文回顾

    上文我们讲到:带参构造方法,多数情况下的作用,用于设置属性值,如何实现带参构造方法的输入参数的参数值传递给成员属性呢?
    我们讲了方案1:修改带参构造方法的输入参数的参数名的方式, 来去完成对成员属性的匹配赋值。

    但是方案1的弊端比较明显:
    1、需要刻意将参数名设置为与属性名不同的名字,比较麻烦
    2、因为修改了名字,在相应对照的时候也很不方便

    有没有什么方法,可以减少工作量(不用修改参数名),又能清晰的知道是给属性赋值呢?
    mark

    mark

    mark
    这种方案肯定是有的!答案就是通过使用this关键字

    this关键字

    this关键字代表当前对象,可以通过this关键字显式的告诉编译器,你这个传递的参数name是要赋值给我当前的对象的name属性的。
    mark

    无法赋值的情况:

    public cat(String name,int month,double weight,String species){
        name = name;
        month = month;
        weight = weight;
        species = species;
    }
    

    使用this关键字后,就不会发生无法赋值的情况。

    public cat(String name,int month,double weight,String species){
        this.name = name;
        this.month = month;
        this.weight = weight;
        this.species = species;
    }
    

    通过使用this关键字,带参构造方法设置属性值成功。
    mark
    mark

    当前对象是什么?

    this代表当前对象,什么是当前对象,我们显然可以认为谁调用方法体中有this关键字的方法,谁就是当前对象。
    在上述程序的编译过程中,one就是当前对象。
    mark
    mark

    mark

    this可以调用属性

    以上:

    public cat(String name,int month,double weight,String species){
        this.name = name;
        this.month = month;
        this.weight = weight;
        this.species = species;
    }
    

    this调用了属性。

    同样this也可以调用方法

    this也可以调用方法

    mark
    mark

  • 相关阅读:
    斐波纳契数列
    实现刮刮乐的效果
    简易版美图秀秀
    js 宏任务和微任务
    作业3 阅读
    作业2 结对子作业
    做汉堡
    练习一
    Java设计模式十八:代理模式(Proxy)
    Java设计模式二十:适配器模式(Adapter)
  • 原文地址:https://www.cnblogs.com/xlfcjx/p/13719722.html
Copyright © 2020-2023  润新知