java 静态初始化 调用_java JVM-类加载静态初始化块调用顺序
测试类加载的全过程
public class Have {
static {
System.out.println("加载Have");//先加载Have再调用main方法
}
public static void main(String[] args) throws Exception {
System.out.println("main方法"); //先调main方法
A a=new A(); //先初始化父类,再初始化子类
System.out.println(A.width);
A a2=new A(); //第二次只会调用构造器,不会调用静态方法,类的加载和初始化只有一次
System.out.println(A.common); //调用类里的常量时,并不会初始化该类,常量被放在常量池里
//Class.forName("cn.sxt.in.A"); //反射调用类,也会加载静态方法
//A[] a=new A[10]; //创建类的数组,不会初始化类
System.out.println(B.common); //子类调用父类的常量,不会初始化本身和父类
System.out.println(B.width); //子类调用父类非常量,则只会初始化父类
}
}
class A extends A_father{
public static int width=100;
public static final int common=10;
//创建对象时,会首先运行赋值动作和static块内的内容
static {
System.out.println("静态初始化类");
width=300;
}
public A(){
System.out.println("AAA");
}
}
class A_father{
static {
System.out.println("静态初始化A的父类");
}
}
class B extends A{
static {
System.out.println("静态初始化B");
}
}
java 静态初始化 调用_java JVM-类加载静态初始化块调用顺序相关推荐
- java的静态如何理解_java中的静态是什么?如何理解?
在Java语言中,static表示"静态"的意思,使用场景可以用来修饰成员变量和成员方法,当然也可以是静态代码块.static的主要作用在于创建独立于具体对象的域变量或者方法. 格 ...
- Java 工程师必须掌握的 JVM 类加载机制!
这篇文章不聊别的,专门来侃侃JVM的类加载机制 概念 类加载器把class文件中的二进制数据读入到内存中,存放在方法区,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据 ...
- jvm类加载、初始化
2019独角兽企业重金招聘Python工程师标准>>> jvm类加载 1.通过一个类的全限定名来获取定义此类的二进制字节流: 2.将这个字节流所代表的静态存储结构转化为方法区的运行时 ...
- Java进阶之深入理解JVM类加载机制
前言 了解类加载的过程,有利于在类初始化时进行一些功能操作; 本文全面讲解类加载过程; 一.类加载介绍 1.类加载生命周期 从类被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期分为7个阶段 ...
- java 初始化数组_java如何实现数组初始化
java实现数组初始化的方法:1.动态初始化,格式[数据类型 [ ] 数组名称 = new 数据类型[数组长度]]:2.静态初始化,格式[数据类型 [ ] 数组名称 = new 数据类型[ ]{元素1 ...
- java web dao层_java web 中web层直接调用dao层 可以吗?
这个就跟Service直接用Java类还是用Interface/Implementation一样.关键是你自己认为是否合理,团队是否有严格要求. 为了说明这个问题,我在网上找了一些图. web层,业务 ...
- java gui构造工具_Java Web框架 静态代码块、构造代码块、构造函数、普通代码块 执行顺序 Decompiler JD-GUI 反编译工具...
1.下载jd-gui-windows-1.4.0. http://jd.benow.ca/ 2.通过jd-gui.exe查看.class文件,用于分析类编译过程. 3.源文件. // 加载相应的 He ...
- java 虚拟机内存类_java 虚拟机类加载 及内存结构
在面试java工程师的时候,这道题经常被问到,故需特别注意. 1.JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从"Hello World &q ...
- java 初始化数组_Java中数组的初始化
一.什么是初始化 在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用 ...
- java 不同包 调用_java中不同包之间的调用
<java中不同包之间的调用>由会员分享,可在线阅读,更多相关<java中不同包之间的调用(4页珍藏版)>请在金锄头文库上搜索. 1.建立两个类 PackageA.Packag ...
最新文章
- LeetCode 125 Valid Palindrome(有效回文)(*)
- Linux重定向和管道符使用避坑指南
- IoT	、5G与边缘计算将会擦出怎样的火花?
- 归档 OmniFocus 中已完成的任务到 印象笔记 Evernote
- Dockerfile命令
- mysql状态常用参数分析
- Xquery 被设计用来查询 XML 数据
- Spring Java配置:会话超时
- android显示网络图片控件,Android控件之ImageView(二)
- 树视图的属性与方法 c# 1614262746
- 2021副高考试成绩查询荆州,湖北荆州2021年4月自考成绩查询入口开通
- 快速测试UTF8编码的文件是不是加了BOM,不限PHP
- 阿里云落地全球最大云原生实践:双11核心系统全面云原生化
- 获取微信jssdk权限影响ajax,微信jssdk中请求得到access_token遇到跨域问题,改写为jsonp,报错...
- 打开FOXMAIL常见错误提示“Message format error”
- 【1】Kali破解家用WI-FI密码 - WEP加密
- 幅频特性曲线protues_函数幅频特性曲线
- yolov5模型转换(pt=>onnx=>rknn)和板端验证测试
- Oracle——武汉空间数据库系统设计
- python计算bmi的编程_Python学习-计算BMI的小程序
热门文章
- 随堂练习--找水王2
- Linux的概念与体系 2. Linux文件管理(转载)
- 来晚了--SALTSTACK要弄起
- java转换CSV文件生成xml格式数据
- [置顶] 电信系统方案 电信Boss系统
- spring全局异常抓取validation校验信息
- centos在yum install报错:Another app is currently holding the yum lock解决方法
- Android AutoWrapTextView 解决中英文排版问题
- c#调用excel报错 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))问题的解决
- STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!