把isRunning(){}改成isRunning();就可以了,interface里的methods是不能有内容的。

解决方案 »

  1.   

    你定义的是一个interface,interface中只声明方法不实现
    所以要写成:boolean isRunning();
      

  2.   

    这是《java编程详解》里面的例子啊,为什么会错呢?
      

  3.   

    为什么实现这个接口时出错呢:class Fireworks implements MonitoredRunnable {
    private boolean running;

    void run(){
    shootFireWorks();
    }
    boolean isRunning(){
    return (running);
    }
    }??
      

  4.   

    Fireworks.java:7: isRunning() in Fireworks cannot implement isRunning() in Monit
    oredRunnable; attempting to assign weaker access privileges; was public
            boolean isRunning(){
                    ^
    Fireworks.java:4: run() in Fireworks cannot implement run() in java.lang.Runnabl
    e; attempting to assign weaker access privileges; was public
            void run(){
                 ^
    Fireworks.java:5: cannot resolve symbol
    symbol  : method shootFireWorks ()
    location: class Fireworks
                    shootFireWorks();
                    ^
    3 errors
      

  5.   

    改后程序如下:
    package interface1;interface MonitoredRunnable extends java.lang.Runnable {
            boolean isRunning();
    }public class Fireworks implements MonitoredRunnable {
            private boolean running;        public void run(){
                    //shootFireWorks();
            }
            public boolean isRunning(){
              return (running);
            }
    }
    ------------
    解释:
            boolean isRunning();
            //接口中的方法只有定义没有实现细节,并且全部为public,尽管可以不用public修饰。
    -------------
            public void run(){
                    //shootFireWorks();
            }
            public boolean isRunning(){
              return (running);
            }
            //实现接口的类必须在类中给出接口中所有方法的定义,因为接口中的方法public,所以,必须在实现方法时加上public关键字。
            //因为接口中的方法默认的是public,而你在实现这个接口时方法用的是省缺的(default),所以出错. 
    --------------
    shootFireWorks();你把这个函数加上就没事了。