util工具类中的方法为什么要用static修饰?

简介: 关于static学习的次数真的很多,每次搞得好像似懂非懂,这次就来一次深刻认识

关于static学习的次数真的很多,每次搞得好像似懂非懂,这次就来一次深刻认识

    public static void reflectAct(Object model) throws Exception{
        for (Field field : model.getClass().getDeclaredFields()) {
            field.setAccessible(true);
            System.out.println(field.getName() + ":" + field.get(model) );
        }
    }

以这段代码为例,这是util工具类中的一个方法,当在其他类调用该静态方法时是随着类的定义而被分配和装载入内存中。而非静态方法属于对象的具体实例,只有在类的对象创建时在对象的内存中才有这个方法的代码段。

一个是在类的定义时分配和装载且只会装载一次,一个是在类的创建时才会装载到内存。这需要对内存区域有一定的认识。在java中另外一个和此密切关联的就是引用传递

这样做有什么好处呢?

static 是静态的 属于公共的 不需要实例化

如果你不是static 你就必须 先实例化类 然后再调用 该方法,既然是util类,那肯定是公用的,比如一个连接数据库的工具类,项目运行时会多次使用,非静态就会产生大量实例还有一堆数据库连接,占用太多资源,静态类避免了这个问题,或略这个问题的代价是很大的。


再比如使用util工具类的时候,你会发现上来直接就是 类名.方法名。还没有实例化就可以调用,这就是static的好处了。

被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问

目录
打赏
0
0
0
0
49
分享
相关文章
|
8月前
|
【Java】static 修饰成员方法
【Java】static 修饰成员方法
|
8月前
|
【Java】static 修饰变量
【Java】static 修饰变量
Java-关于main函数的修饰符(为什么要带public和static)
关于Java主函数的修饰符(为什么要带public和static) public修饰符 public是函数的权限,决定了该函数是否可以被外部的函数调用
Java 中的 static:静态变量、静态方法,一切都在掌握中
Java 中的 static:静态变量、静态方法,一切都在掌握中
1696 0
Java的static修饰符
本文主要介绍:静态域、静态常量、静态方法、工厂方法。
Java静态方法Static继承问题
Java静态方法Static继承问题
130 0
第12篇:Java 的访问修饰符(public、protected、private)、封装、继承
🍀public: 在所有类中都是可见的 🍀protected: 仅在自己的包中、自己的子类中可见 🍀package-private(没有修饰符): 仅在自己的包中可见 🍀private: 仅在自己的类中可见
379 0
第12篇:Java 的访问修饰符(public、protected、private)、封装、继承
java面对对象(下.1)(java关键字理解:static final main)
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上 的对象,只有通过 new 关键字才会产生出对象,这时系统才会分配内存空间给对象, 其方法才可以供外部调用。
java面对对象(下.1)(java关键字理解:static final main)
java59-static修饰内部类
java59-static修饰内部类
121 0
java59-static修饰内部类