黑马程序员技术交流社区

标题: 分享一道基础题,看了视频基本都没问题吧 [打印本页]

作者: 小子考驾照    时间: 2014-8-26 15:49
标题: 分享一道基础题,看了视频基本都没问题吧

  写一个类证明静态代码块,构造代码块,构造方法代码的执行过程。
下面自己编写的代码,好简单有木有。不过有木有感觉眼花撩论,没写注释。。。会扣分么
class staticCode
{
        static
        {
                System.out.println("我是***");
        }
        {
                System.out.println("我是打酱油的");
        }
                static void show()
        {
                System.out.println("你是***");       
        }
        staticCode()
        {
                System.out.println("他是***");
        }
}
class staticCodeDemo
{
        public static void main(String[] args)
        {
                staticCode sta1 = new staticCode();
                coco();
                staticCode.show();
                coco();
                staticCode sta2 = new staticCode();
        }
        public static void coco()
        {
                System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
        }
}


作者: 陈永赛    时间: 2014-8-26 17:58
哦,代码块还有静态这种形式呀,不懂,还以为只有构造代码块呢?学习了···
作者: @for    时间: 2014-8-26 19:21
静态代码块->构造代码块->构造方法代码块,我记得顺序是这样的
作者: 月夜小楠    时间: 2014-8-26 20:10
先执行静态代码块,给类进行初始化,然后是对对象进行构造代码块初始化,最后对对象进行与之对应的构造函数初始化。
作者: LFW    时间: 2014-8-27 10:40
static void show()你的题目没让写这个吧,,,,
作者: 彭卫红    时间: 2014-8-28 00:13
看着真有点晕,还是养成写注释的习惯最好
作者: 怀念黑海岸    时间: 2014-8-28 13:01
    静态代码块是完成对一个类中的静态变量的初始化工作的,当一个对象进行初始化时会先通过静态代码块完成对静态变量的初始化,通过静态代码块初始化的流程,jvm只做一次,以后再有对象来这儿进行初始化的时候都不会再执行静态代码块中的初始化代码。。
作者: 忆梦追风    时间: 2014-8-28 21:48
乱,没有顺序,你最好加上注释
作者: 王责彬    时间: 2014-8-28 22:27
看评论,学习了
作者: lfsfxyzljhm    时间: 2014-8-28 22:40
怀念黑海岸 发表于 2014-8-28 13:01
静态代码块是完成对一个类中的静态变量的初始化工作的,当一个对象进行初始化时会先通过静态代码块完成 ...

从你这相当于又复习了一遍
作者: lfsfxyzljhm    时间: 2014-8-28 22:42
怀念黑海岸 发表于 2014-8-28 13:01
静态代码块是完成对一个类中的静态变量的初始化工作的,当一个对象进行初始化时会先通过静态代码块完成 ...

我先你请教个问题,如果new 了两个对象,第一个会执行静态代码块第二个new就不执行了?????
作者: 冒牌高手    时间: 2014-8-29 07:27
1、我是***2、我是打酱油的3、他是***4、@@@@@@@@@@5、你是***6、@@@@@@@@@@7、我是打酱油的8、他是***
作者: 韶山    时间: 2014-8-29 11:11
刚学到这里,看下
作者: 怀念黑海岸    时间: 2014-8-29 11:40
lfsfxyzljhm 发表于 2014-8-28 22:42
我先你请教个问题,如果new 了两个对象,第一个会执行静态代码块第二个new就不执行了????? ...

对,你最好自己去试验下,这样子结果会让你更加清晰牢靠。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2