静态方法和非静态方法的选择
我们在使用Java编译代码的过程中,难免会遇到静态方法和非静态方法的选择问题。下面我就分别分析两种方法的特点,以供大家参考。
静态方法
- 当该方法不需要依赖具体实例,且使用频率较高时候,优先考虑静态方法;
- 常见的工具类适合定义成静态方法;
- 静态方法属于类所有,随着类的加载而加载于栈内存中,调用方式可以是“类名.方法”的形式调用,随用随拿,效率较高;
- 静态方法的缺点是不自动销毁,而实例化的可以进行销毁。
非静态方法
- 当该方法访问到了实例变量,需要创建对象来调用该方法的时候,使用非静态方法;
- 使用频率较少,随着对象的特征改变而变,则定义为非静态方法,减少内存消耗;
- 当一个方法被频繁调用而创建对象的时候,由于每创建一个对象,在堆内存中就会占用一块内存,故非静态方法不适合用于频繁被调用的方法中,避免消耗堆内存空间。