java用类创建一个对象什么时候用new什么时候不用?
像SQLiteDatabasedatabase;就不用new,下面直接database.execSQL(SQL);为什么???Why??...
像SQLiteDatabase database;就不用new,下面直接database.execSQL(SQL);为什么???Why??
展开
3个回答
2015-08-15
展开全部
看到楼上的回答,特地写代码测试了一下,结果发现execSQL似乎不是静态方法。
java的对象都是在堆上分配内存的,所以要用new。
SQLiteDatabase database; 只是声明一个对象引用而已,且没有初始化。下面直接调用database.execSQL(SQL)应该会报错的吧。
如果你初始化成SQLiteDatabase database = null;下面直接调用会有空指针异常。因为这个引用没有指向一个对象。
的确静态方法和静态成员变量使用不用实例化对象,比如Integer.toString(10);可以直接使用。
java的对象都是在堆上分配内存的,所以要用new。
SQLiteDatabase database; 只是声明一个对象引用而已,且没有初始化。下面直接调用database.execSQL(SQL)应该会报错的吧。
如果你初始化成SQLiteDatabase database = null;下面直接调用会有空指针异常。因为这个引用没有指向一个对象。
的确静态方法和静态成员变量使用不用实例化对象,比如Integer.toString(10);可以直接使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询