首页 > 其他分享 >static关键字简析

static关键字简析

时间:2022-09-19 17:01:40浏览次数:98  
标签:静态方法 变量 静态 成员 关键字 简析 实例 static

首先是惯例的美图时间

+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+

+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+——+

这里我们先来说一下什么是static

首先,看一下static的英文意思:static,英语单词,形容词、名词,作形容词的意思是“静态的;静电的;静力的”,作名词的意思是“静电;静电干扰”。对于我们编程语言来说取形容词的意思,也就是“静态的”。像在VBC#CC++JavaPHPObjective-CJavaScript中我们可以看到static作为关键字函数出现,在其他的高级计算机语言如FORTRANALGOLCOBOLBASICLISP、SNOBOL、PL/1、PascalPROLOGAda等语言中也是有出现的,只是有着不同的作用。

在java中,有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main.()。因为在程序开始执行时必须调用main() ,所以它被声明为static。

声明为static的变量称为静态变量类变量。可以直接通过类名引用静态变量,也可以通过实例名来引用静态变量,但最好采用前者,因为后者容易混淆静态变量和一般变量。静态变量是跟类相关联的,类的所有实例共同拥有一个静态变量。 声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。

 static变量

按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:

对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。

对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。

static方法

静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联!这个需要去理解,想明白其中的道理,不是记忆!!!因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。

static代码块

static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

标签:静态方法,变量,静态,成员,关键字,简析,实例,static
From: https://www.cnblogs.com/Bronya019c/p/16708262.html

相关文章

  • 第二周课程总结:static在修饰方法时的作用是什么?
    我们知道static是静态修饰符,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而被static修饰的代码会在编译时就被分配内存,程序退出时才会释放其内存,......
  • 关于static
     static表示“静态”的意思,可以用来修饰成员变量和成员方法。static的主要作用在于创建独立于具体对象的域变量或者方法。被static关键字修饰的方法或者变量不需要依赖于......
  • Java的 static关键字
    通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法   声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法。 · 它们只......
  • swift都有哪些关键字
    var和let、变量常量final、修饰的类变量函数不能继承和重写,修饰的函数为直接派发struct和enum和class、结构体和枚举为值类型,类为引用类型override、重写deinit、反初......
  • static个人理解
    static解:主要用于内存管理,static关键字的方法不需要new对象就可以直接在同static内进行调用,在其他类中可直接通过类名进行变量的访问。static关键字属于类,不是类的实例。成......
  • Java学习之静态方法static
      测试square方法将static删除后产生的问题会报错  所以main方法是一个静态方法,只能调用静态方法,所以平方数方法必须用static修饰......
  • Java static关键字
    在类中,使用static修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。注意:static......
  • 关键字static
    java中的static关键字static,翻译成中文即为静态的意思,那么也就是说static修饰的是与对象无关的。概括成一句话,static所修饰的成员是公共资源,即不属于任何一个类的成员,sta......
  • static知识点
    在JAVA中并没有全局变量,因此static变量也称作静态变量,静态变量和非静态变量有很大的区别,只要一个成员变量使用了static关键字,那么这个变量就不再属于自己,而是属于整个类。......
  • 静态static关键字
    在类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。注:static修饰的成员变量和方法,从属于类普通变......