调用类的一些非静态方法时,那种方法好
需要调用类的一些非静态方法时
如: TblCustomerDao customer = new TblCustomerDao();
customer.GetCustomerName();
customer.SelectAll();
和 new TblCustomerDao().GetCustomerName();
new TblCustomerDao().SelectAll();
两者在效率上有区别么?
------解决方案--------------------区别是1个生成2对象,1个生成1对象,如果这个对象正好很大的话。。。
------解决方案--------------------区别是1个生成2对象,1个生成1对象,如果这个对象正好很大的话。。。
----------------
说的对,而且如果这个对象涉及初始化,就可能造成错误.
------解决方案--------------------new TblCustomerDao().GetCustomerName();
这种会不会该语句结束就删除对象了?
---------------------------------
不知道,回收机制控制
再说有必要关注这个吗,不管是不是结束就删除,这个对象都是曾经创建过
只调用一次时,那个效率更好呢?
如: TblCustomerDao customer = new TblCustomerDao();
customer.GetCustomerName();
和 new TblCustomerDao().GetCustomerName();
-----------------------------------------------
这个应该效率一样吧,不大清楚,第1种多了个customer ,我想下面的虽然没有customer ,但是生成一个对象,程序应该会有个类似customer 来指向新建立对象的。愚见,希望ls达人解释
------解决方案--------------------第1种是始终对一个对象操作,如果这个操作会影响对象本身(例如修改了对象的字段的值),
那这个影响会持续到对象被销毁。
第2种是,每次都创建一个新的对象,每次调用方法使用的都是对象的初始数据(假如方法要用到对象的数据),而调用完之后这个对象就被销毁了。(逻辑上来说,它是被销毁了)