此问题已经在这里有了答案:
我正在研究一个教程,对使用“ 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命名约定,则需要
“唯一的使用它来访问类成员的方法并不是严格意义上的冗余,这是当您避免使用具有相同名称的本地作用域成员时,尽管良好的编程习惯应始终防止这种情况的发生。”