【发布时间】:2017-06-01 09:04:53
【问题描述】:
我在某处看到了这段代码:
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "DBName";
private static final int DATABASE_VERSION = 2;
// Database creation sql statement
private static final String DATABASE_CREATE = "create table MyEmployees
( _id integer primary key,name text not null);";
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Method is called during creation of the database
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}
// Method is called during an upgrade of the database,
@Override
public void onUpgrade(SQLiteDatabase database,int oldVersion,int newVersion){
Log.w(MyDatabaseHelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
database.execSQL("DROP TABLE IF EXISTS MyEmployees");
onCreate(database);
}
}
如您所见,MyDatabaseHelper 方法不返回任何内容(不返回任何内容)。那么为什么作者没有使用void呢?
【问题讨论】:
-
它被称为构造函数,用于初始化对象(在这种情况下,您希望使用
Context初始化数据库助手)。见docs.oracle.com/javase/tutorial/java/javaOO/constructors.html -
@nbokmans 啊,我明白了。你能告诉我这个
public long createRecords(String id, String name){中的long是什么吗?是函数返回的类型吗? -
在这种情况下,
long是方法的返回类型是。该资源更好地解释了fields、methods和constructors之间的区别:docs.oracle.com/javase/tutorial/java/javaOO/classes.html -
long是一种通常用于整数的数据类型,当它们可能增长到超过int可以容纳的数量时(最多大约 20 亿(或两亿,正如我在学校学到的那样) )。这是基本的 Java 知识,您可能在教科书或教程中找到它比在 SO 上更快。
标签: java android database function methods