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

目录
相关文章
|
5月前
|
Java
【Java】static 修饰成员方法
【Java】static 修饰成员方法
|
5月前
|
Java
【Java】static 修饰变量
【Java】static 修饰变量
|
8月前
|
存储 设计模式 缓存
Java 中的 static:静态变量、静态方法,一切都在掌握中
Java 中的 static:静态变量、静态方法,一切都在掌握中
1587 0
|
Java C++
Java的static修饰符
本文主要介绍:静态域、静态常量、静态方法、工厂方法。
|
Java
Java静态方法Static继承问题
Java静态方法Static继承问题
116 0
|
Java 数据安全/隐私保护
第12篇:Java 的访问修饰符(public、protected、private)、封装、继承
🍀public: 在所有类中都是可见的 🍀protected: 仅在自己的包中、自己的子类中可见 🍀package-private(没有修饰符): 仅在自己的包中可见 🍀private: 仅在自己的类中可见
336 0
第12篇:Java 的访问修饰符(public、protected、private)、封装、继承
零基础学java---private和this关键字(2)
零基础学java---private和this关键字(2)
81 0
零基础学java---private和this关键字(2)
|
存储 Java 编译器
java59-static修饰内部类
java59-static修饰内部类
106 0
java59-static修饰内部类
|
存储 Oracle 安全
你知道Java中final和static修饰的变量是在什么时候赋值的吗?
你知道Java中final和static修饰的变量是在什么时候赋值的吗?
532 0