1、定义:

  1、 Java中静态变量只能在类主体中定义,不能在方法中定义。 静态变量属于类所有而不属于方法。

2、 静态块:用static申明,JVM加载类时执行,仅执行一次

        构造块:类中直接用{}定义,每一次创建对象时执行
             执行顺序优先级:静态块>main()>构造块>构造方法
     3、类的加载顺序
       (1) 父类静态对象和静态代码块
       (2) 子类静态对象和静态代码块
       (3) 父类非静态对象和非静态代码块
       (4) 父类构造函数
       (5) 子类 非静态对象和非静态代码块
       (6) 子类构造函数
 
   

2、实例

public class Test {
static int age1 = 1; static{
age1 = 10;
System.out.println("这是静态代码块");
} {
System.out.println("这是普通代码块"+age1);
} public Test(){
System.out.println("这是构造方法");
} public void fun(){
System.out.println("这是普通方法fun");
} public static void show(){
System.out.println("这是静态方法"+age1);
} public static void main(String[] args) {
System.err.println("=============="); Test.show(); Test t=new Test();
t.fun();
t.fun();
}
}


3、资料来源:

Java中Static执行顺序:https://blog.csdn.net/u010859650/article/details/81587738

java中静态代码执行顺序: https://www.cnblogs.com/sjxbg/p/8831346.html

Java static执行顺序:https://blog.csdn.net/ewzjs/article/details/78150198

Java执行static顺序的更多相关文章

  1. Java中的继承与静态static等的执行先后顺序

    package extend; public class X { Y y=new Y(); static{  System.out.println("tttt"); } X(){  ...

  2. [转]JAVA程序执行顺序,你了解了吗:JAVA中执行顺序,JAVA中赋值顺序

    本文主要介绍以下两块内容的执行顺序,熟悉的大虾可以直接飘过. 一.JAVA中执行顺序 静态块 块 构造器 父类构造器 二.JAVA中赋值顺序 静态块直接赋值 块直接赋值 父类继承的属性已赋值 静态变量 ...

  3. java执行顺序之深入理解clinit和init

    原文地址:https://blog.csdn.net/qq_36522306/article/details/80582758 前言: 最近研究了深入理解JVM这本书中的知识,对java中各部分执行的 ...

  4. java的static块执行时机

    一.误区:简单认为JAVA静态代码块在类被加载时就会自动执行.证错如下: class MyClass1 { static {//静态块 System.out.println("static  ...

  5. Java中static块执行时机

    Java中static块执行时机 演示例子 在使用static进行初始化的操作,怎么也执行不了!代码如下: public class StaticDemo { public static final ...

  6. java的static块执行时机<转>

    一.误区:简单认为JAVA静态代码块在类被加载时就会自动执行.证错如下: class MyClass1 { static {//静态块 System.out.println("static  ...

  7. Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序

    静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行.执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public H ...

  8. 转 java中static{}语句块详解

    原文地址:http://blog.csdn.net/lubiaopan/article/details/4802430     感谢原作者! static{}(即static块),会在类被加载的时候执 ...

  9. java中static{}语句块详解

    static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用. 一.在程序的一次执行过程中,stati ...

随机推荐

  1. python线程理论

    一.什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才 ...

  2. nmon内存分析

    可参考: MemTotal:显示当前服务器物理内存大小,本服务器有8063180 KB≍7874 MB左右. MemFree:显示当前服务器的空闲内存大小,本服务器有5052336 KB≍4934 M ...

  3. k-meanas原理自实现

    import numpy as np import matplotlib.pyplot as plt def build_data(): """ 准备数据 :return ...

  4. RedHat可用的几处软件源

    rpmforge仓库 http://repoforge.org/use/ http://rpms.famillecollet.com/

  5. [已解决]报错: Windows下Redis服务无法启动,错误 1067 进程意外终止解决方案

    启动redis时出现的报错内容: 解决方法: 找到登录状态 如果是网络服务,直接双击此服务,修改为本地系统服务即可启动!

  6. Spring Cloud Stream 进行服务之间的通讯

    Spring Cloud Stream Srping cloud Bus的底层实现就是Spring Cloud Stream,Spring Cloud Stream的目的是用于构建基于消息驱动(或事件 ...

  7. SpringCloud-Eureka-Provider&Consumer

    Eureka-Provider 服务的提供者 新建一个服务提供者项目 1.导入pom文件 <properties> <java.version>1.8</java.ver ...

  8. swagger集成到springBoot 项目中

    1 pom 文件加包依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>spring ...

  9. 【LeetCode】从contest-21开始。(一般是10个contest写一篇文章)

    [LeetCode Weekly Contest 29][2017/04/23] 第17周 Binary Tree Tilt (3) Array Partition I (6) Longest Lin ...

  10. jQuery给css增加!important

    <div id='ele' style=''width:200px!important"><div> JS $("#el").css(" ...