关于java中关键字static的说明

static关键字代表在内存中只有一份,今天看代码的时候发现一个每一个审批单据的查询的方法都是static的,这让我感到很好奇,这样把所有查询方法声明为static有什么用呢?

static方法可以直接通过类名.方法名进行调用,并且会一直占用内存,省去了创建对象new时所消耗的资源。如果一个方法被频繁调用,可以考虑将它声明为static。

static类在加载时就分配了内存,并且会一直占用内存,而非static类则是在创建时才分配内存。一般工具类会声明为static,经常被调用。

java执行时会先优先加载static部分,然后会执行方法,如果此类有父类则先执行父类的构造方法。

static方法在一个类中不用创建对象可以直接使用

但是综上所述,这个审批单据查询不是当做工具类使用的,这些static查询方法是在同一个类下面的,没有其他对象,直接用就可以。考虑到会经常查询待审批的单据?访问静态方法加快?可是一直占用内存啊?个人觉得单据审批查询的代码是有一些问题的。

补充:

关于java中关键字static的说明_第1张图片

你可能感兴趣的:(java)