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. [Linux] 011 其它权限管理命令

    1. 权限管理命令:chown 命令名称:chown 命令英文原意:change file ownership 命令所在路径:/bin/chown 执行权限:所有用户 语法:chown [用户] [文 ...

  2. 最长公共上升子序列 (LIS+LCS+记录)

    [题目描述] 给出两个序列,求出最长公共上升子序列的长度,并输出其中一个解. [题目链接] http://noi.openjudge.cn/ch0206/2000/ [算法] 经典问题,结合了LIS和 ...

  3. Ecshop 商品详情页如何添加立即购买按钮

    1,加到位置 <li class="add_cart_li"> <a href="javascript:addToCart1({$goods.goods ...

  4. k3 cloud查看附件提示授予目录NetWorkService读写权限

    打开文件的时候出现下面的提示: 解决办法: 解决办法:找到C:\Program Files(x86)\Kingdee\K3Cloud\WebSite\FileUpLoadServices,在下面创建F ...

  5. Codeforces Round #394 (Div. 2) - A

    题目链接:http://codeforces.com/contest/761/problem/A 题意:给定a个偶数,b个奇数,问是否能构成奇偶相间的阶梯.思路:a和b相差小于等于1即可构造出来.特判 ...

  6. 九、Rxjs请求对Observable进行封装

    1.引入 Http.Jsonp.Rxjs 三个模块 2.请求中添加一个 .map(res => res.json) 问题 1.Property 'map' does not exist on t ...

  7. vmwre虚拟机配置

    mware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-Only(仅主机模式).打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚 ...

  8. H2database创建表

    语法和sql server大同小异 create table users(id int primary key not null int identity, name varchar(20))

  9. hive中Sort By,Order By,Cluster By,Distribute By,Group By的区别

    order by:  hive中的order by 和传统sql中的order by 一样,对数据做全局排序,加上排序,会新启动一个job进行排序,会把所有数据放到同一个reduce中进行处理,不管数 ...

  10. Hadoop的配置文件

    hadoop-env.sh:脚本中所用到的环境变量,以运行Hadoop mapred-env.sh:脚本中所用到的环境变量,以运行mapreduce yarn-env.sh:脚本中所用到的环境变量,以 ...