zoukankan      html  css  js  c++  java
  • 一道关于java 类初始化 成员初始化的笔试题的解析

    代码如下:

    java笔试题

    程序执行结果如下:

    java笔试题结果

    此笔试题考查:

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

    关于这个知识点参考如下博文:

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

    http://blog.csdn.net/zhandoushi1982/article/details/8453522

    2、Java类变量和成员变量初始化过程,

     http://www.cnblogs.com/lmtoo/archive/2012/04/08/2437918.html

    那么分析程序可知:

    静态都是用来修饰类的内部成员的。比如静态方法、静态成员变量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。

    编译器转换成class文件后,会转换成类似下面的代码:

    个人理解

    首先: 初始化n=0;

    初始化m1, 打印 j i=0 n=0    打印  控制块 i=1 n=1 打印 m1 i=2 n=2

    初始化m2, 打印 j i=3 n=3   打印  控制块 i=4 n=4 打印 m2 i=5 n=5

    初始化i,打印 i i=6 n=6

    初始化 静态块, 打印 静态块 i=7 n=7

    静态部分初始化结束,开始执行main函数中m对象的实例化,

    初始化m,打印 j i=8 n=8 打印 控制块 i=9 n=9 打印 init i=10 n=10

    黑体部分即为 程序输出结果。

    注:作者有限,文中若有不对之处,请批评指正。


     

  • 相关阅读:
    set集合
    作业(2)
    字典
    列表功能
    字符串
    while循环
    pb加密转换成C#
    NET在64位系統使用32位oracle客户端访问数据库
    SQL Server中查找包含某个文本的存储过程
    SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户
  • 原文地址:https://www.cnblogs.com/khldragon/p/3334239.html
Copyright © 2011-2022 走看看