Java关键字“ this”在此代码中是否多余? [重复]

问题描述 投票:1回答:2

此问题已经在这里有了答案:

我正在研究一个教程,对使用“ this”关键字存有疑问。在类的构造函数中,this.mContext是否不是所引用关键字的多余使用?仅使用mContext会不会一样?

//package org.harrix.sqliteexample;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.content.Context;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.File;

public class DatabaseHelper extends SQLiteOpenHelper {
  private static String DB_NAME = "info.db";
  private static String DB_PATH = "";
  private static final int DB_VERSION = 1;

  private SQLiteDatabase mDataBase;
  private final Context mContext;
  private boolean mNeedUpdate = false;

  public DatabaseHelper(Context context) {
    super(context, DB_NAME, null, DB_VERSION);
    if (android.os.Build.VERSION.SDK_INT >= 17)
      DB_PATH = context.getApplicationInfo().dataDir + "/databases/";
    else
      DB_PATH = "/data/data/" + context.getPackageName() + "/databases/";

    this.mContext = context;
    copyDataBase();
    this.getReadableDatabase();
  }

}

我正在研究一个教程,对使用“ this”关键字存有疑问。在类的构造函数中,this.mContext是否不是对referred关键字的冗余使用?使用的方式会不同...

java android android-studio this
2个回答
1
投票

是的,这是多余的但是,如果我们遵循正确的Java命名约定,则需要


0
投票

“唯一的使用它来访问类成员的方法并不是严格意义上的冗余,这是当您避免使用具有相同名称的本地作用域成员时,尽管良好的编程习惯应始终防止这种情况的发生。”

© www.soinside.com 2019 - 2024. All rights reserved.