JAVA方法直接用类名.的理解

Posted wuzixihe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA方法直接用类名.的理解相关的知识,希望对你有一定的参考价值。

前言

  在java中经常遇到使用classname.method()的方式调用方法,哪些场景需要用到呢,如下:   

  • 某些操作不依赖具体实例
  • 某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量
  • 实现某些特殊的设计模式:如Singleton

解决:static修饰方法

  static修饰的方法,会使这个方法成为整个类所公有的方法。方便调用。

  首先要了解,类加载过程只进行一次,类本身也是通过字节码保存在文件中,java会通过I/O流把类文件读入JVM中,JVM通过类路径(CLASSPATH)来找字节码文件,  

一旦该类被加载,所有的static修饰的方法在堆内存中都有一块专门的区域来存放,从而成为整个类所公有的方法。

  使用new对象的方式,每new一个类的对象,系统就会重新在堆内存中开辟一个新空间来存放该类的实例对象,并且栈中也会有一个新的引用变量去指向这个类对象。

 

 

以上是关于JAVA方法直接用类名.的理解的主要内容,如果未能解决你的问题,请参考以下文章

深度分析:理解Java中的多态机制,一篇直接帮你掌握!

JAVA啥时候需要NEW个对象,啥时候不用NEW可以直接用类名.方法?

为啥Python调用方法,有的前面加类名,有的不加?

Java基础(42):Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在祝方法调用,后者必须先实例化后用实例调用)

一个类中直接调用另一个类的静态方法吗

Java高级特征