static class Qw{
void process()throws Exception{
throw new Exception();
}
}
static class D53 extends Qw { /**
 * @param args
 */
void process(){
System.out.println("B");
}
public static void main(String[] args) {
// TODO 自动生成方法存根
//Qw a=new D53();
                //a.process();
new D53().process(); }}
题目说运行结果是打印出:B
但是我调试了一下,程序编译都不能通过,说class类前面不能加static修饰符。我想问的是类到底能不能加static修饰,有的话能否举个例子!在线等待高手释疑···

解决方案 »

  1.   

    static 可以修饰内部类public class A{
        public static class B{}
    }
      

  2.   

    public class Outer { static class Qw{
        void process()throws Exception{
            throw new Exception();
        }
    }
    static class D53 extends Qw {     /**
         * @param args
         */
        void process(){
            System.out.println("B");
        }
        public static void main(String[] args) {
            // TODO 自动生成方法存根
            //Qw a=new D53();
                    //a.process();
            new D53().process();     } }
    }static修饰类放在类里面才行
      

  3.   

    把类前面的static去掉
    把D53的声明改成
    public class D53 extends Qw 
      

  4.   

    static不能修饰顶级类,但是可以修饰局部式内部类
      

  5.   

    呵呵,有个东西叫JAVA静态内部类,一般的java类都不用声明为static的,但当内部类的方法为static时,那么此内部类必须声明为static的,你编译不过是因为你没有把这两个静态内部类嵌在一个外部类里。