java用类创建一个对象什么时候用new什么时候不用?

像SQLiteDatabasedatabase;就不用new,下面直接database.execSQL(SQL);为什么???Why??... 像SQLiteDatabase database;就不用new,下面直接database.execSQL(SQL);为什么???Why?? 展开
 我来答
匿名用户
2015-08-15
展开全部
看到楼上的回答,特地写代码测试了一下,结果发现execSQL似乎不是静态方法。
java的对象都是在堆上分配内存的,所以要用new。
SQLiteDatabase database; 只是声明一个对象引用而已,且没有初始化。下面直接调用database.execSQL(SQL)应该会报错的吧。

如果你初始化成SQLiteDatabase database = null;下面直接调用会有空指针异常。因为这个引用没有指向一个对象。
的确静态方法和静态成员变量使用不用实例化对象,比如Integer.toString(10);可以直接使用。
更多追问追答
追问
问题是按照这样写,一点错误没有
追答

难道不是android.database.sqlite.SQLiteDatabase?

匿名用户
2015-08-15
展开全部
那个方法是静态的,不需要new。。。。。。。。。。

原则上,面向对象,都需要new实例
追问
你没有搞懂我的意思额。。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梨子qqq
2020-05-10
知道答主
回答量:1
采纳率:0%
帮助的人:618
展开全部
有一个单例模式不用new
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式