Java开发笔记,Java中this关键字的用法

作者:计算机知识

this关键字功效:
Java开发笔记,Java中this关键字的用法。 壹. 万壹存在同名成员变量与部分变量时,在艺术内部暗中同意是造访一些变量的数目,能够通过this关键字钦定访问成员变量的数码。
2. 在三个构造函数中能够调用其余二个构造函数开头化对象。

Java 中的 this 关键字指当前的对象,可以直接用其调用当前指标的分子变量,也得以一直用其调用当前目的的积极分子方法,那是我们普及的景观,那么有未有其余的情景呢!

Java之this关键字的用法,javathis关键字

Java 中的 this 关键字指当前的靶子,能够间接用其调用当前指标的成员变量,也得以一向用其调用当前指标的积极分子方法,这是咱们周围的气象,那么有未有其它的情况吗!

this 还可以在无参的构造方法中央直机关接跟个小括号,从而调用有参的构造方法,那样当大家再 new 一个新的目的时,就能够不再通过有参的构造方法进行早先化,直接通过无参的构造方法立时。

代码如下:

public class Student {
    private String name = "张三";
    private int sum = 0;

    public Student() {
        this("王五");    // 调用有参的构造方法
    }

    public Student(String name) {
        this.name = name;        // 调用成员变量中的 name,从而区分方法中的 name
    }

    public void say(){
        System.out.println(this.name);
    }

    /**
     * 递归求和
     * @param num
     */
    public void sum(int num) {
        this.sum  = num--;

        if(0 < num){
            sum(num);
        } else {
            System.out.println("sum = "   sum);

            this.say();        // 调用成员方法 say()
        }
    }

}

 

Java 中的 this 关键字指当前的靶子,能够一贯用其调用当前目的的成员变量,也得以一贯用其调用当前...

前方介绍了类的基本概念,包罗成员属性、成员方法、构造方法多少个组成成分,可谓是具有了类的完整封装形态。然而在展开下1阶段的就学此前,有须要梳理一下前述的类定义代码,看看是或不是留存什么样必要优化的地点。
第一观看以下的代码片段,首借使重量属性的定义及其设置方法:

this关键字调用任何的构造函数要留心的事项:

this 还足以在无参的构造方法中一向跟个小括号,从而调用有参的构造方法,那样当我们再 new 一个新的目的时,就足以不再通过有参的构造方法进行开始化,直接通过无参的构造方法立时。

// 定义了橘子的重量private double weight;// 设置橘子的重量public void setWeight(double inputWeight) {weight = inputWeight;}
  1. this关键字调用其余的构造函数时,this关键字必必要位于构造函数中 的率先个语句。
  2. this关键字在构造函数中不能够冒出互相调用 的图景,因为是贰个死循环。

代码如下:

瞩目到setWeight方法的输入参数名称为inputWeight,而重量属性的称谓则为weight,之所以给参数名与质量名分配差别的名称,是因为在setWeight方法里面,蹦出1个堪称weight的东西,编写翻译器焉知那是名称叫weight的输入参数,照旧称作weight的成员属性?事实上,对于名称一致的输入参数和成员属性,该方法内部只会把那个weight当作输入参数,而非成员属性。那就拉动多个主题材料:万壹不幸遭受参数名与属性名一样的景况,怎么样技术在点子内部操作同名的积极分子属性?为此Java提供了this关键字,它用来取代当前类自己,于是“this.变量名”就代表该类内定名称的积极分子属性了。如此1来,管理广橘重量的连带代码便可改成上边那样:

 

public class Student {
    private String name = "张三";
    private int sum = 0;

    public Student() {
        this("王五");    // 调用有参的构造方法
    }

    public Student(String name) {
        this.name = name;        // 调用成员变量中的 name,从而区分方法中的 name
    }

    public void say(){
        System.out.println(this.name);
    }

    /**
     * 递归求和
     * @param num
     */
    public void sum(int num) {
        this.sum  = num--;

        if(0 < num){
            sum(num);
        } else {
            System.out.println("sum = "   sum);

            this.say();        // 调用成员方法 say()
        }
    }

}
// 定义了橘子的重量private double weight;// 设置橘子的重量public void setWeight(double weight) {this.weight = weight;}

本文由bwin必赢发布,转载请注明来源

关键词: 必赢app下载 Java 关键字 笔记 this