【Java】关于 this

以下是关于Java(或者说在编程方面)的this学习的输出结果。

这是什么意思

「this」是用于在类的方法内处理实例的特殊变量。

具有显式地指示其为类实例的功能。

为什么要使用这个?

就结论而言,原因是。。。

「ローカル変数とフィールド変数を明確に区別するため」。

由于本地变量和字段变量是不同的,所以即使使用相同的名称也可以创建它们,因此当使用相同的名称时会变得无法分辨是哪一个。因此,经常使用“在字段变量前面加上this”这种写法。

这个“どこに”,应该用在哪里呢?

正如我之前所写的,”this” 的使用位置是在字段变量名的开头。

例:this.フィールド名

此外,在类内部的方法定义中才可以使用this。当方法被调用时,this会被替换为调用该方法的实例。

尝试使用这个。

我在程序中制作了一个宝可梦图鉴。
你可以看到在Pokemon.java中定义了字段变量,并且在类内部使用this进行重复利用。

//【Pokemon.java】
public class Pokemon {
    // フィールド変数
    public int number;
    public String name;
    public String category;
    public String type;
    public String description;

    public Pokemon(int number, String name, String category, String type, String description) {
        this.number = number;
        this.name = name;
        this.category = category;
        this.type = type;
        this.description = description;
    }

}

以下是调用方的类。

//【Main.java】
public class Main {

    public static void main(String[] args) {
        // 呼び出し(new した後で、引数へ与えられた値を元に Pokemon が生成されます)
        Pokemon pikachu = new Pokemon(025, "ピカチュウ", "ねずみポケモン", "でんき",
                "つくる でんきが きょうりょくな ピカチュウほど ほっぺの ふくろは やわらかく よく のびるぞ");

        // 使用時
        System.out.print("No." + pikachu.number);
        System.out.println(" " + pikachu.name);
        System.out.print(pikachu.category);
        System.out.println(" " + pikachu.type + "タイプ");
        System.out.println(pikachu.description);

    }
}

执行结果 (shí jié guǒ)

No.21 ピカチュウ
ねずみポケモン でんきタイプ
つくる でんきが きょうりょくな ピカチュウほど ほっぺの ふくろは やわらかく よく のびるぞ

参考文献和文章

    • Javaのローカル変数とグローバル変数の概念とは【初心者向け】

 

    • Progate

 

    ドットインストール
广告
将在 10 秒后关闭
bannerAds