搜索

首页  >  问答  >  正文

如何理解java中的static方法,static方法是面向对象的吗

static静态方法可以不经过初始化直接调用,所以说他不是面向对象的对吗

PHP中文网PHP中文网2888 天前413

全部回复(5)我来回复

  • 天蓬老师

    天蓬老师2017-04-17 17:44:36

    是面像对象的啊,static 表示类的静态属性,可以不用实例化直接调用,应为程序运行时就进入内存

    • 优势是效率高,一般用于工具类,全局使用

    • 缺点是占内存,使用不当难以回收

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:44:36

    嗯,是的,不是面向对象,可以直接访问失去了多态等一系列机制

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 17:44:36

    java中,静态成员和普通数据类型不是对象,其他皆是。

    类也是对象,是java.lang.Class的实例对象。这和反射机制有关。

    被static修饰的方法、变量都是存在类作用域里的。如果想了解更多可以看我写的一篇——浅析JVM之垃圾回收开头简单的讲了一下Java Memory Model。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 17:44:36

    JAVA中有类方法,它同样也是面向对象的,它的抽象可以这样理解:
    比如:有“猫”这个类,所有的猫都是胎生的,所以胎生这个方法就可以挂在类上。而不必挂在类实例上。
    类方法就是类的公共的不和每个实例发生关系的方法。说起来挺绕的。看例子就行,这就是我的理解。

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:44:36

    类不也是对象么

    回复
    0
  • 取消回复