文档章节

Java面试题 静态变量 静态代码块 代码块

Moy
 Moy
发布于 2016/09/06 21:44
字数 289
阅读 158
收藏 0

 

Java面试题 静态变量 静态代码块 代码块

package statict;

public class StaticTest {

    public static StaticTest s1 = new StaticTest();
    public static StaticTest s2 = new StaticTest();
    
    {
        System.out.println("code");
    }
    
    static{
        System.out.println("static");
    }
    
    public static void main(String[] args) {
        
        new StaticTest();

    }

}

 

执行结果:

code
code
static
code


解析:

静态代码块在执行过程中是可以使用静态变量的。

在.class文件编译阶段,静态变量和静态代码块会按照语句出现的顺序拼接成一个类初始化方法,这个方法的执行也将完成静态变量的初始化和静态代码块的执行,因此会首先执行初始化对象s1,s2,执行普通代码块,输出code.。s1,s2初始化完成以后执行静态代码块代码,输出static。最后的code也是非静态代码块中输出的。

在以往的认知中,总认为静态代码块在类加载的时候首先执行,而忽略了静态变量的初始化是可能执行在静态代码块前面的。

 

 

 

 

© 著作权归作者所有

Moy

Moy

粉丝 4
博文 34
码字总数 21637
作品 0
呼和浩特
程序员
私信 提问
两道面试题,带你解析Java类加载机制

文章首发于【博客园-陈树义】,点击跳转到原文《两道面试题,带你解析Java类加载机制》 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: 请写出最后的输出字符...

陈树义
2018/06/12
0
0
两道面试题,带你透彻解析Java类加载机制

  在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题:   class Grandpa { static { System.out.println("爷爷在静态代码块"); } } class Father extends Gran...

java进阶架构师
2018/12/06
0
0
面试季,Java中的static关键字解析

点击上方“方志朋”,选择“置顶或者星标” 你的关注意义重大! static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识...

方志朋
03/10
0
0
好程序员Java教程分享:Java工程师常见面试题

  好程序员Java教程分享:Java工程师常见面试题 一:BigInteger (1)针对大整数的运算:可以让超过Integer范围内的数据进行运算。 (2)构造方法 A:BigInteger(String s) (3)成员方法(自己补齐...

好程序员IT
06/27
25
0
java编程学习常见面试题及答案

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
2018/05/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部