回 帖 发 新 帖 刷新版面

主题:[讨论]有错误啊??

定义一个矩形类,再定义接口EqualDiagonal,其中包含方法getDiagonal():由矩形类派生出珍上正方形类,自行扩充成员变量和方法,并实现此接口   Equaldiagonal。   
代码为:
class Rectangle{
    double length=3;
    double width=6;
    double g=Math.sqrt(length*length+width*width);
}
 interface EqualDigonal{
   void getDigonal();
}
 public class Square extends Rectangle implements EqualDigonal{
     void getDigonal(){
        System.out.println("对角线为:"+g);    
}
javac Rectangle.java时,它提示有如下错误:
D:\>javac Rectangle.java
Rectangle.java:9: 类 Square 是 公共的(public〕,应该在名为 Square.java 的文件中
被声明
 public class Square extends Rectangle implements EqualDigonal{
        ^
请高手帮忙啊。

回复列表 (共3个回复)

沙发

老兄有两处错误:
(1),没有main()函数,
(2),实现了接口,就必须实现其中的方法,注意实现的地点必须在该类中,而不能在该类的某个方法中!!


改后的程序:


class Rectangle1
{
    double length1=3;
    double width=6;
    double g=Math.sqrt(length1*length1+width*width);
}
interface EqualDigonal
{
    void getDigonal();
}

class Square extends Rectangle1 implements EqualDigonal
 {
         public void getDigonal()
             {
                System.out.println("对角线为:"+g);
            } 
         public static void main(String[] args)
         {
                Square s=new Square();
                s.getDigonal();
    }
}

板凳

被标识为public类的类名要与JAVA源文件的文件名相同。也就是你的JAVA文件要改名为
Square.java

3 楼

我是新手,请问一下这两句是什么意思啊?
 Square s=new Square();
  s.getDigonal();
谢谢了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册