`
Spring_g
  • 浏览: 63665 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浅谈Static关键字

    博客分类:
  • java
阅读更多
   前段时间对static关键字进行了深入的学习,以及在内存存储机制中静态成员是怎样存储的,特来与大家进行分享。
  Static是一个修饰符,修饰成员(变量,方法)。
  被Static修饰的变量,是一个共性的变量,每个对象都占用一个相同变量。

存储:static修饰的变量不在对内存中,而在(方法区/共享区/数据区)
      而特有的数据则随对象在堆内存存储。

特点:
  ①、随类加载而加载,随类消失而消失。
  ②、被所有对象共享。
  ③、优先于对象存在。
  ④、可以直接被类名所调用。
  ⑤、生命周期最长(静态的成员变量(类变量)>成员变量(实例变量))

使用注意:
   ①、静态方法智能访问静态成员。非静态方法即可访问静态的也可以访问非静态成员。
   ②、静态方法不可以定义 this,super关键字,因为静态优于对象存在。

  优点:对对象的共享数据惊醒单独空间存储,节省空间可以直接被类名调用。
  局限性:生命周期过长,访问出现局限性(静态虽好,只能访问静态)。
分享到:
评论
1 楼 jingjing0907 2014-07-18  
总结的很精简,我对这个static一直是不太懂,还需要再学习下。我也是在济南读的大学,你在哪个学校啊?

相关推荐

    浅谈Java中static关键字的作用

    Java 中 static 关键字的作用 Java 中的 static 关键字是一个非常重要的概念,它有多种用途,本文将详细介绍 static 关键字在 Java 中的作用。 成员变量 在 Java 中,static 关键字可以修饰成员变量。静态变量...

    浅谈C++中的几个关键字static,const,inline.doc

    "C++中的static、const、inline关键字详解" C++ 中的 static 关键字是一种非常重要的修饰符,它可以控制变量的存储方式和可见性。静态变量的两大作用是控制存储方式和控制可见性。控制存储方式是指将变量存储在程序...

    浅谈C/C++中的static与extern关键字的使用详解

    在C/C++编程语言中,`static`和`extern`关键字扮演着至关重要的角色,它们影响着变量和函数的存储、生命周期以及作用域。下面将详细阐述这两个关键字的使用和意义。 首先,我们来看`static`关键字。在C语言中,`...

    浅谈static a[n*m]={0};中static的作用

    在C/C++编程语言中,`static`关键字有着特殊的含义,尤其当它被用来修饰数组时,其作用更是值得关注。本文将深入探讨`static`关键字在`static a[n*m]={0};`这样的语句中的作用。 首先,让我们理解`static`的基本...

    总结一——浅谈Java的类与对象

    此外,Java提供了访问控制修饰符(public, private, protected)来管理类的成员的可见性,以及static关键字来定义类级别的变量和方法,这些不依赖于任何对象就能访问。接口(interface)是另一种重要的面向对象特性...

    浅谈Java中static和非static的区别

    Java中static和非static的区别 static和非static是Java中...Java中static和非static的区别是非常重要的知识点,它们的区别决定了变量和方法的生命周期和作用域,编程中正确地使用static和非static关键字是非常重要的。

    浅谈Java中的final关键字与C#中的const, readonly关键字

    本文将深入探讨Java中的`final`关键字以及C#中的`const`和`readonly`关键字,了解它们如何分别实现编译时常量和运行时不可变性。 ### Java中的`final`关键字 #### 1. 编译器常量 在Java中,`final`关键字可以用来...

    浅谈C语言的数据存储

    此外,C语言还允许自定义数据类型,如通过typedef关键字创建新的类型名,使代码更具可读性。 接下来是内存管理。在C语言中,内存分为栈内存和堆内存。栈内存由编译器自动分配和释放,通常用于存储函数参数、局部...

    浅谈java中的声明常量为什么要用static修饰

    在Java编程语言中,声明常量通常会使用`static`关键字进行修饰,这是为了实现特定的目的和优化。本文将深入探讨为什么在Java中声明常量时需要使用`static`修饰符,以及它带来的益处。 首先,理解`static`关键字的...

    浅谈iOS开发中static变量的三大作用

    在iOS开发中,`static`关键字在C/C++和Objective-C中扮演着重要的角色,它有三个主要用途:隐藏、保持变量内容的持久以及默认初始化为0。下面将详细阐述这三个方面。 首先,隐藏是`static`关键字最基础的功能。在多...

    Java同步机制浅谈

    ### Java同步机制浅谈 #### synchronized关键字的作用及应用 在Java多线程环境中,`synchronized`关键字扮演着至关重要的角色。它可以帮助开发者确保多线程环境下的数据一致性,防止因并发访问导致的数据错误。本...

    浅谈PHP中new self()和new static()的区别

    PHP语言中引入了多种面向对象编程(OOP)的特性,其中self和static关键字在类中扮演着重要的角色。本文将详细探讨PHP中new self()和new static()的区别。 首先,PHP5.3版本中引入了new static()这个新特性。在此...

    浅谈java包的使用

    ### 浅谈Java包的使用 #### 一、引言 在Java开发过程中,随着项目的逐渐庞大和复杂,良好的组织结构对于代码管理至关重要。而Java包(Package)就是用来实现这种逻辑分组的一种机制。通过将相关的类放入同一个包中...

    浅谈PHP中静态方法和非静态方法的相互调用

    在类中定义静态方法时,使用`static`关键字。静态方法不能访问非静态成员,因为静态方法属于类本身,而非静态方法属于类的对象。静态方法通常用于执行与类的任何具体实例无关的操作。 2. 非静态方法(non-static ...

    浅谈C++中强制类型转换函数

    C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用,即const_cast、static_cast、dynamic_cast和reinterpret_cast。 const_cast是用于去掉类型的const或volatile属性的操作符。它常用于指针或引用,...

    浅谈OOP之uml设计模式

    例如,单例模式在C#中可以使用`static`关键字和`lock`语句来实现线程安全的单例;工厂模式可以通过接口和抽象类定义,然后由具体的实现类完成对象的创建;装饰器模式则通过继承并添加新的行为来扩展已有类的功能。 ...

    浅谈Java程序中的构造方法调用.pdf

    public static void main(String[] args) { Son s = new Son(); // 调用默认的无参构造方法创建对象 S } } ``` 在上例中,Son 类没有父类,也没有显示定义构造方法,所以调用默认的无参构造方法来创建对象 S。...

    浅谈java多线程编程

    Java提供了多种同步机制,其中最常见的是`synchronized`关键字,用于防止多个线程同时访问同一代码段: 1. **实例方法同步**:锁定在实例对象上,一个实例的同步方法同一时间只能被一个线程执行。 2. **静态方法...

Global site tag (gtag.js) - Google Analytics