【问题标题】:Why are static variables and methods in java called directly? [duplicate]为什么java中的静态变量和方法是直接调用的? [复制]
【发布时间】:2013-08-16 13:24:20
【问题描述】:

为什么在java中直接调用静态变量而不使用任何对象?它们是否存储在不同的内存位置?为什么只有静态方法可以直接使用类名调用而不创建其对象?例如

class First
{
   public static void ss()
   {
     System.out.println("This genius will give answer");
   }
}

class Second
{
    public static void main(String ar[])
    {
       First.ss(); 

    }
}

【问题讨论】:

  • 静态表示属于该类而不属于该类的实例
  • 静态成员存储在堆栈或堆或其他位置?
  • 其他位置。检查rocketboy的答案。

标签: java static


【解决方案1】:

As docs says

类的每个实例共享一个类变量,该变量位于内存中的一个固定位置。

Java 编程语言支持静态方法和静态变量。声明中带有 static 修饰符的静态方法应使用类名调用,无需创建类的实例,如

ClassName.methodName(args)

【讨论】:

    【解决方案2】:

    是的,静态资源属于类而不是对象。并存储在global 位置的单独位置类型中。你可以阅读更多here

    【讨论】:

    • 静态成员存储在堆栈或堆或其他位置?
    • 点击上面答案中的链接。
    • Rocketboy 你的火箭成功登月..Thnx 它解决了我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多