A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Saner 中级黑马   /  2014-3-27 13:38  /  856 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class  StaticStudy
{

        static
        {
                System.out.println("a");
        }
说一下这段代码我是照着视频敲得,可是17行老错误。有大神顺便能给各行加个注释,谢谢
}
class StaticStudyFirst
{
        static
        {
        System.out.println("b");
        }
}
public static void main(String[] args)
        {
                new StaticStudy();
                new StaticStudy();
                System.out.println("over!");
        }
        static
        {
        System.out.println("c");
        }

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

7 个回复

正序浏览
三楼的那个 //静态代码块只在每类第一个对象时运行。这句有问题吧。静态代码块应该是在类加载的时候运行的。
public class StaticTest {
        static{
                System.out.println("hello");
        }
        public static void main(String[] args) {
                System.out.println("in main");
        }

}

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
三楼的那个 //静态代码块只在每类第一个对象时运行。
回复 使用道具 举报
你把主函数和静态代码块扩到类StaticStudyFirst外面了
回复 使用道具 举报
你抄错了吧,你把主函数和静态代码块扩到StaticStudyFirst外面了

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
你运行的时候没有错误?
回复 使用道具 举报
class  StaticStudy
{
         //静态代码块常用于初始化静态变量
        static
        {
                System.out.println("a");
        }
}
class StaticStudyFirst
{        
          //静态代码块
        static
        {
           System.out.println("b");
        }
     
       public static void main(String[] args)throws Exception
        {     
                  //先main方法类中的静态代码块
                  //静态代码块只在每类第一个对象时运行。
                  new StaticStudy();
                  new StaticStudy(); //不会输出b了
                 System.out.println("over!");
        }
       //静态代码块
        static
        {
        System.out.println("c");
        }
        
        
}

//main 方法  静态代码块要放在Class代码块中
//运行结果
b
c
a
over!

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
刚开始发帖,居然把那句话敲在了代码中间 ,望谅解~!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马