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

Java 类常量 类变量 及加载顺序

 
阅读更多

1、Java类常量 由 static  + final + 数据类型+ 字母 组成 , 如: static final int a =1;  只能在声明的时候就初始化

 

2、Java类变量 由 static + 数据类型 +字母  组成, 如:static int a ; 或static int a =1; 这里可以赋值, 也可以不赋值

 

3、类初始化方法:即由static修饰的方法块,对类变量操作或赋值, 如:static {...}

 

 

共同点:都可以直接用类名调用,

区别:

1、类常量在定义后就不允许修改, 类变量可以修改

2、类常量没有初始化为默认值, 比如对int 初始化为0, 对引用初始化为null

     类变量在类加载的时候, 会初始化为默认值 , int 初始化为0, 引用初始化为null

3、直接用类调用类常量时, 不加载类; 而直接用类调用类变量时, 会加载类 测试如下

public class A {

	public static  int a =1;//类变量
	public static final int b =2;//类常量
	static {
		a = 3;
		System.out.println("A static code");
	}
}

public class B  {

	public static void main(String[] args) {
		System.out.println("A.b= " +A.b);
		System.out.println(A.a);
	}
}

 

运行结果:
A.b= 2
A static code
3

 

如果main方法在Class A中 

public class A {

	public static  int a =1;//类变量
	public static final int b =2;//类常量
	static {
		a = 3;
		System.out.println("A static code");
	}
	
	public static void main(String[] args) {
		System.out.println("A.b= " +A.b);
		System.out.println(A.a);
	}
}

运行结果:
A static code
A.b= 2
3
因为在执行main方法时, 首先会加载类A, 所以static 方法会先执行

 

 

 

 

 

分享到:
评论

相关推荐

    Java中的静态变量静态方法静态块与静态类.docx

    Java 中的静态变量、静态方法、静态块和静态类 Java 中的静态变量、静态方法、静态块和静态类是 Java 编程语言的四个重要概念,它们之间存在着紧密的关系。下面将对这四个概念进行详细的介绍。 一、静态变量...

    Java类执行顺序详解+实例(阿里面试题)+详细讲解+流程图

    总结来说,Java类的执行顺序涉及到类加载、验证、准备和初始化四个关键步骤,这些步骤在JVM内部协同工作,确保代码的正确性和安全性。理解这些基础知识对于编写高效、可靠的Java程序至关重要,也是面试中常见的技术...

    java类加载知识点整理

    ### Java 类加载机制详解 #### 一、Java 类的生命周期 Java 类的生命周期分为五个主要阶段:加载、连接(包括验证、准备、解析三个子阶段)、初始化、使用和卸载。 1. **加载**:这一阶段的主要任务是通过类的全...

    jvm系列(一)java类地加载机制.doc

    JVM系列(一):Java类的加载机制 类加载机制是 JVM 中的一种机制,将类的.class 文件中的二进制数据读入到内存中,并将其放在运行时数据区的方法区内,然后在堆区创建一个对象,用来封装类在方法区内的数据结构。...

    全国1月高等教育自学考试Java语言程序设计(一)试题课程代码04747.pdf

    知识点:Java整型常量可以用十进制、十六进制、八进制表示,Java变量可以是基本类型或引用类型,Java控制结构包括顺序结构、选择结构、循环结构等,Java运算符包括算术运算符、比较运算符、逻辑运算符、赋值运算符等...

    Java类加载基本过程详细介绍

    Java类加载过程是Java应用程序启动的关键步骤,它涉及到类的加载、链接以及初始化。下面将详细阐述这些步骤。 1. **加载**: 加载阶段是类加载过程的第一步,它的任务是找到类的二进制字节流,并将其加载到Java...

    java技术:java中static作用详解

    总结起来,`static`关键字在Java中用于创建类级别的变量和方法,允许在不创建对象的情况下访问和操作它们,从而提高代码的效率和灵活性。理解和正确使用`static`关键字是编写高效、可维护的Java代码的关键。

    java_中的_final_变量[文].pdf

    在Java编程语言中,`final`关键字扮演着重要的角色,它用于声明不可变的变量、方法和类。理解`final`的关键在于其不可变性,这有助于提高程序的效率、稳定性和设计规范。 首先,`final`变量表示常量,一旦赋值后就...

    毕向东java基础总结(完整版)

    关键字是java语言中赋予特殊含义的单词,标示符是程序中自定义的名词,常量是程序中的不会变化的数据,变量是内存中的一个存储空间,用于存储常量数据。 变量的定义需要考虑两个要素:存储什么数据(数据类型)和这...

    final和static用法详解JAVA

    final 关键字是 Java 中的一种访问修饰符,用于修饰类、方法和变量,以确保它们不能被修改或继承。下面是 final 关键字的详细解释: 1. final 类 final 类不能被继承,也就是说,final 类不能有子类。final 类中的...

    Java类文件的基本结构_.docx

    JVM在加载类文件时,按照预定的顺序解析各部分,先读取可变长度的数据长度,再读取具体内容。这种结构允许类文件适应各种不同大小和结构的类或接口。 总的来说,Java类文件的基本结构是一个精心设计的二进制格式,...

    Java 程序显示类中 Static 关键字的用法.docx

    静态块是 Java 中的一个特殊概念,如果您需要进行计算以初始化静态变量,可以声明一个静态块,该块在首次加载类时只执行一次。静态块可以用于初始化静态变量 или执行一些特殊的操作。 静态变量是 Java 中的一种...

    浅谈Java 类中各成分加载顺序和内存中的存放位置

    本文将深入探讨Java类中各成分的加载顺序以及它们在内存中的存放位置。 首先,类的加载通常发生在以下三种情况: 1. 创建对象:通过`new`关键字创建类的实例。 2. 使用类的静态成员:访问类的静态变量或调用静态...

    完整版 Java基础入门教程 Java程序语言设计 03 java对象 类与对象2(共23页).ppt

    - 静态变量在类加载时被初始化,所有类的对象共享同一份静态变量的副本。 - 静态方法不依赖于任何特定对象,可以直接通过类名调用,无法访问非静态成员。 4. **final修饰符**: - `final`用于声明不可改变的变量...

    类的方法练习

    14. 实例变量与局部变量:实例变量是类的成员变量,静态变量在类加载时创建,局部变量在声明时必须初始化。选项C(静态变量在方法执行时创建)是错误的。 15. 构造方法调用:构造方法不能像普通方法那样被调用,...

    类的加载机制笔记

    2. **扩展类加载器(Extension ClassLoader)**:它继承自启动类加载器,主要负责加载<JAVA_HOME>\jre\lib\ext目录下的jar包,以及由java.ext.dirs系统变量所指定目录中的所有jar包。开发者可以直接使用扩展类加载器...

    Java中的static关键字

    Java 中的 static 关键字 ...在 Java 中,类装载器把一个类装入 Java 虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的。

    java笔记 java笔记

    Java提供了四种访问修饰符:`public`、`private`、`protected`和`default`,用于控制类、方法和变量的可见性。 ##### 6.7 构造方法 构造方法是一种特殊的方法,用于初始化对象。 ##### 6.8 封装 封装是指隐藏...

Global site tag (gtag.js) - Google Analytics