静态方法与非静态方法(实例方法)

一、静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存。
二、静态方法在堆上分配内存,实例方法在堆栈上。
三、实例方法需要先创建实例才可以调用,比较麻烦,静态方法不用,比较简单。
四    静态方法内调用的方法必须是静态的,实例方法则都可以
如下声明两个类

public  static  class  A:
{
   //...
   public  static  void  doSomething()
 {
     //...
   }
}

public   class   B
{
   //...
   public   void   doSomething()
  {
     //...
   }
}


使用方法如下:
A:
A.doSomething();

B:
B   instB   =   new   B();
instB.doSomething();

那么这两种方案在内存申请方面有什么样的区别   执行效率又如何 

不能简单的说A和B谁占内存小,A程序加载就在内存中驻留,会占一定的内存,B是你实例化的时候才分配内存  
1:这个方法程序调用的多   当然是A更省资源。如果用B每次都得创建实例,用完还得销毁当然浪费资源
2:这个方法程序调用的很少,那还是B省资源,只是用到的时候占内存,不用不占内存,比起A来说省资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值