美文网首页
关键字static

关键字static

作者: jadefly | 来源:发表于2018-01-16 15:47 被阅读0次

简介

java内存分为:

1.栈内存:存放一些基本类型的变量、数组和对象的引用;

2.堆内存:存放一些对象;

static:可用于修饰成员变量、成员方法、静态块、静态导包;

            被static修饰的变量和方法独立于该类的,不依赖于某个实例而是被该类的所有实例共享;

            所有实例的引用都指向同一个地方,任何一个实例对其的修改都会导致其他实例的变化;


修饰成员变量

概念:被static修饰的变量称为静态变量(类成员、静态成员),可通过类名访问;

使用场景:对象之间共享数据、访问方便;

静态变量:在类加载时完成初始化,在内存中仅有一个,且JVM也只会为它分配一次内存;

实例变量:伴随着实例,每创建一个实例就会产生一个实例变量,它与该实例同生共死;

内存中结构

修饰成员方法

概念:被static修饰的方法称为静态方法,可通过类名调用;

           同样是在类加载时就存在,相比于修饰成员变量,存储方面没多大变化,方法本来就是存储在类的定义中;


静态块

概念:被static修饰的代码块称为静态代码块,随着类的加载一块执行,可以放在任意位置;

注意:静态代码块中只能调用静态变量或静态方法且不能引用this,super(因为此时还没有实例对象)


静态导包

举例

总结

1.用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;

2.用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类;

3.静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键;

4.静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便;

相关文章

  • OC中static、const、extern关键字理解

    static关键字 static关键字用于修饰变量。 static修饰局部变量当使用static修饰局部变量时, ...

  • static关键字

    Static关键字概述 static(静态)关键字可以用于修饰变量、方法和代码块。我认为static关键字的主要用...

  • 【Java】关键字

    一、 static关键字 static关键字的总结: static关键字 可以再没有创建对象的时候进行调用类的元素...

  • Java学习Day03

    今日学习内容总结 Static关键字 Arrays类 Math类 继承 Static关键字 一旦用了static,...

  • java基础-day11-static关键字

    static关键字和接口 1. static关键字【重点】 1.1 static修饰静态成员变量 1.1.1 为什...

  • C语言中的static关键字

    @TOC C语言中的static关键字 static 关键字,意为静态。 static 变量 特性:全局变量在函数...

  • Static关键字

    C语言中的static关键字和Java的static关键字意义不一样。 1 用static修饰函数 static用...

  • C基础知识

    基础问题 1.static关键字和const关键字。 static: 作用于变量时:用static声明局部变量--...

  • 13.面向对象进阶—静态关键字static

    面向对象进阶 静态关键字static static关键字的作用,修饰成员变量的用法 static是静态的意思,可以...

  • Java学习13:static关键字,this关键字

    static关键字 static翻译为“静态的”。所有static关键字修饰的都是类相关的,类级别的。所有stat...

网友评论

      本文标题:关键字static

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