美文网首页Java程序员Java技术文章
java中static(静态成员变量.方法与普通成员变量.方法区

java中static(静态成员变量.方法与普通成员变量.方法区

作者: 光哥很霸气 | 来源:发表于2015-07-30 17:01 被阅读2020次

如果文章对你有所帮助,请点喜欢并关注,这将是我最大的动力,谢谢

PS:这里的普通方法和成员变量是指,非静态方法和非静态成员变量
首先static是静态的意思,是修饰符,可以被用来修饰变量或者方法。
静态成员变量是指类的成员变量,他不属于类的对象,只属于类单独,与一般意义上的成员变量有视区别。
方法同上。
栗子: static int i=1; 这里的i就是一个静态变量。具体特性如下

静态成员变量与普通成员变量

  • 内存分配
    静态静态,就是当类被加载时,这个内存就静静的待在这里,就已经存在,而普通成员变量,只有类被实例化时才分配内存。
  • 调用方法
    成员变量需要对象才能被调用;而静态成员变量可以直接通过类来调用,当然也可以直接调用
    PS:小小疑问为什么可以直接调用,我看一些参考书上只说可以通过类来调用?
    public class demo {
    static int i=10;
    public static void main(String[] args){
    int k=i;//直接调用
    int j=demo.i;//通过类来调用
    System.out.println("直接调用k:"+k);
    System.out.println("通过类来调用j:"+j);
    }
    }
  • 生命周期
    静态成员变量从类被加载开始到类被卸载,一直存在;普通成员变量只要在类被实例化也就是创建对象是才开始存在,一直到对象结束,生命也告终。
  • 共享方式
    静态成员变量是全类共享的,即使不是对象,也可以调用,并且内存不变;普通成员变量是每个对象单独享用的,就是说你这个对象有一个int i=1,我再给该类创建一个新的对象,他也有一个int i,但他可以不等于1,可以等于5,也可以等于10,但无论等于多少,都不会影响之前对象的i的值,而静态成员变量不是这样。

静态方法与普通方法

我们一直用的main方法就是静态方法
在此我只讨论一下调用的问题

  1. 静态方法可以调用静态成员变量,调用普通成员变量时需创建对象;非静态方法可以随意调用静态成员变量或普通成员变量。
  2. 静态方法和普通方法调用特性同上,静态调用普通方法时需创建对象,而普通方法随意。
aa.png

2015.8.6

静态方法的使用情况

是在类中执行该方法时,该方法并不对成员变量有任何操作,也就是说该静态方法的操作不针对对象,只针对该类时,使用。那么使用该类也就不需要创建对象,而可以直接通过类名.方法名实现。

工具类.png 使用类.png

相关文章

  • 四、JNI-成员和方法

    成员 方法 #1. 成员 Java中成员变量分为普通成员变量和静态成员变量。普通成员变量也称为类实例成员变量,所有...

  • java中static(静态成员变量.方法与普通成员变量.方法区

    如果文章对你有所帮助,请点喜欢并关注,这将是我最大的动力,谢谢 PS:这里的普通方法和成员变量是指,非静态方法和非...

  • java语言static

    Java中的静态方法static 1、static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可...

  • kotlin真的没有静态成员变量的吗?

    kotlin是如何改造静态成员变量与静态方法的? 在java中,定义一个静态成员变量用static关键字即可。静态...

  • static关键字与main方法

    static关键字与main方法 静态的成员变量只会在数据共享区中维护一份,而非静态成员变量的数据会在每个对象中都...

  • 6_1(Static 静态)

    1.可修饰成员方法、成员变量,静态修饰内容被对象所共享 ,存于方法区中 static String country...

  • static关键字

    static表示静态的意思,用来修饰成员变量和成员方法,也可以修饰代码块被static修饰的成员变量和成员方法独立...

  • Java中static的用法

    在Java中,static可以修饰成员变量、成员方法、代码块和内部类。 1. static修饰成员变量 stati...

  • java中static什么意思_Java中static的含义和用

    static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享...

  • static关键字

    static关键字意为静态的,在Java中static常见的有四种用法 修饰成员变量和成员方法: 被 static...

网友评论

  • Jadyn:我对您写到的静态成员变量可以直接调用有些歧异。我觉得在一个类的内部,对于普通成员变量,非静态方法(内部类)也可以直接调用它。main方法虽说是一个程序的入口,但他必须在某个类中书写,他是在这个类的内部,当然可以直接调用该类的静态成员变量
    光哥很霸气:@Jadyn 普通成员变量,内部类非静态方法是可以直接调用。静态变量可以通过该类直接调用,不知道您说的什么意思?
  • 65f94ac34452:儿子,妈妈以你为荣!乖儿子加油!
  • alighters:基础的东西,还是不错的。
    光哥很霸气:@lighters 哈哈,是啊 :sunglasses:
  • 一碗单炒饭: @光哥很霸气 好的好的(●—●)
    光哥很霸气:@一碗单炒饭 x_xl
  • 一碗单炒饭:3Q~
    光哥很霸气:@一碗单炒饭 不谢,关注一下就好啦 :blush:

本文标题:java中static(静态成员变量.方法与普通成员变量.方法区

本文链接:https://www.haomeiwen.com/subject/rfzmqttx.html