关闭

[Java]静态变量与非静态变量的区别

标签: java 静态变量
3941人阅读 评论(0) 收藏 举报
分类:
 ①java类的成员变量有俩种:
        一种是被static关键字修饰的变量,叫类变量或者静态变量
        另一种没有static修饰,为成员变量

    ②通俗点说:
        类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。
        而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。

注意点:
    1.JAVA中初始化的顺序:
        加载类;
        静态变量初始化;
        静态块;【其只能调度静态的,不能调度非静态的】
        成员变量;
        构造方法; 

    2.为显示静态块的优先级,我来显示一个没有Main方法的程序,javac后其是没有任何错误的。
public class Test {
    static {
        System.out.println("static ");
        System.exit(0);
    }
}
3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

JAVA的静态变量、静态方法、静态类

静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明。 (1)Java静态对象和非静态对象有什么区别?       比对如下:          ...
  • zhandoushi1982
  • zhandoushi1982
  • 2012-12-30 20:45
  • 202426

Java静态变量的初始化(static块的本质)

在网上看到了下面的一段代码:public class Test { static { _i = 20; } public static int _i = 10; ...
  • darxin
  • darxin
  • 2010-02-06 07:23
  • 39895

Java基础——成员变量、局部变量和静态变量的区别

之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态变量。变来变去太容易让人搞晕了,挑拣出来梳理一下...
  • haovip123
  • haovip123
  • 2015-02-19 18:30
  • 12970

Java中静态变量与静态方法的继承

今天在看单例模式时,《head first 设计模式》中提到了单例类的继承问题。因为单例类中的变量及构造单例的方法通常都是静态的,所以这里涉及到“静态方法与变量的继承”。以前一直没关注这些,所以今天特...
  • jinyongqing
  • jinyongqing
  • 2012-06-16 21:29
  • 10235

Java中静态变量,成员变量,局部变量,常量

在java中,类是最基本的单位,就是定义类中的成员(成员变量和成员方法等。) 静态变量也叫类变量,是类中独立于方法之外的变量,用static 修饰。 static表示“静态的”,“全局的”,也可以...
  • chaplinlong
  • chaplinlong
  • 2016-04-04 09:37
  • 1652

java定义静态变量的作用 static关键字

我们知道类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,为了节省系统内存开销、共享资源,应该将一些变量声明为静态变量。通过下面的例子,你就会发现有什么不同。 代码一: p...
  • zhengchao1991
  • zhengchao1991
  • 2016-10-25 11:33
  • 3503

Java中静态变量的适用场景

Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面...
  • ahgaojie451
  • ahgaojie451
  • 2015-09-07 11:26
  • 1235

解析Java中静态变量与实例变量的区别

http://developer.51cto.com/art/201107/275079.htm java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有s...
  • jaycee110905
  • jaycee110905
  • 2014-09-28 11:52
  • 1115

java中的静态变量、静态方法与静态代码块

我们知道类的生命周期分为装载、连接、初始化、使用和卸载的五个过程。 其中静态代码在类的初始化阶段被初始化。而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化。 静态变量 ...
  • MaggieDorami
  • MaggieDorami
  • 2012-09-09 17:49
  • 7529

浅谈:Java静态变量以及静态方法。

关于Java中static对象和static方法的调用
  • VipMao
  • VipMao
  • 2016-04-04 22:21
  • 2892
    个人资料
    • 访问:4873次
    • 积分:85
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类