黑马程序员技术交流社区

标题: 这段程序运行错误,请指正,谢谢! [打印本页]

作者: Saner    时间: 2014-3-27 13:38
标题: 这段程序运行错误,请指正,谢谢!
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");
        }
作者: Saner    时间: 2014-3-27 13:40
刚开始发帖,居然把那句话敲在了代码中间 ,望谅解~!
作者: 清风木扬    时间: 2014-3-27 14:05
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!


作者: Saner    时间: 2014-3-27 14:13
你运行的时候没有错误?
作者: 冰雪里的男孩    时间: 2014-3-27 17:28
你抄错了吧,你把主函数和静态代码块扩到StaticStudyFirst外面了
作者: 冰雪里的男孩    时间: 2014-3-27 17:30
你把主函数和静态代码块扩到类StaticStudyFirst外面了
作者: haixian    时间: 2014-3-27 23:36
三楼的那个 //静态代码块只在每类第一个对象时运行。
作者: haixian    时间: 2014-3-27 23:37
三楼的那个 //静态代码块只在每类第一个对象时运行。这句有问题吧。静态代码块应该是在类加载的时候运行的。
public class StaticTest {
        static{
                System.out.println("hello");
        }
        public static void main(String[] args) {
                System.out.println("in main");
        }

}





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