定义一个矩形类,再定义接口EqualDiagonal,其中包含方法getDiagonal():由矩形类派生出一个正方形类,自行扩充成员变量和方法,并实现此接口 Equaldiagonal。

解决方案 »

  1.   

    class Rectangle
    {
    //……
    }interface EqualDiagonal
    {
    void getDiagonal();
    }class square extends Rectangle implements EqualDiagonal
    (
    public void getDiagonal(){ //……
        };
    //……
    )
      

  2.   

    好像什么也没做的,
    实现getDiagonal的时候应该返回对角线的长度吧,return Math.sqrt(width*width+height*height)
      

  3.   

    public class Rect{
      public double height=0;
      public double width=0;
      public Rect(double h,double w){
        height=h;
        width=w;
      }
    }
    public interface EqualDiagonal{
      double getDiagonal();
    }
    public class Square extends Rect implements EqualDiagonal{
      public double side=0;
      public Square(double s){
        side=s;
      }
      public double getDiagonal(){
        return Math.sqrt(side*side+side*side);
      }
    }
      

  4.   

    楼上的这位,有错误啊,
    错误提示如下:
    C:\>javac Square.java
    Square.java:14: Rect(double,double) in Rect cannot be applied to ()
      public Square(double s){
                             ^
    1 error而且这也没有什么输出的,
    你也可随便弄两个数,然后输出的,不然什么显示也没有的.
      

  5.   

    public class Rect{
      public double height=0;
      public double width=0;
      public Rect(double h,double w){
        height=h;
        width=w;
      }
      public double getArea(){
        return h*w;
      }
    }
    public interface EqualDiagonal{
      double getDiagonal();
    }
    public class Square extends Rect implements EqualDiagonal{
      public double side=0;
      public Square(double s){
        side=s;
      }
      public double getDiagonal(){
        return Math.sqrt(side*side+side*side);
      }
      public static void main(String[] args) {
        Rect rect=new Rect(10.0,20.0);
        Square squ=new Square(20.0);
        System.out.println("矩形面积为:"+String.valueOf(rect.getArea));
        System.out.println("正方形面积为:"+String.valueOf(squ.getArea));
        System.out.println("正方形对角线为:"+String.valueOf(squ.getDiagonal()));
      }
    }
    因为是3个类 你要分3个文件放
      

  6.   

    public Square(double s){
      super(s,s);
      //side=s;
      }
      

  7.   

    System.out.println("矩形面积为:"+String.valueOf(rect.getArea()));
    System.out.println("正方形面积为:"+String.valueOf(squ.getArea()));
    有俩句写错了,                                                 ^忘记括号了,你改一下
      

  8.   

    因为是3个类 你要分3个文件放 
    为什么要这么复杂.你可以设置其它两个不是public 的嘛,
      

  9.   

    public class Rect{
      public double height=0;
      public double width=0;
      public Rect(double h,double w){
        height=h;
        width=w;
      }
      public double getArea(){
        return h*w;
      }
    }
    public interface EqualDiagonal{
      double getDiagonal();
    }
    public class Square extends Rect implements EqualDiagonal{
      public double side=0;
      public Square(double s){
        super(s,s);
        side=s;
      }
      public double getDiagonal(){
        return Math.sqrt(side*side+side*side);
      }
      public static void main(String[] args) {
        Rect rect=new Rect(10.0,20.0);
        Square squ=new Square(20.0);
        System.out.println("矩形面积为:"+String.valueOf(rect.getArea()));
        System.out.println("正方形面积为:"+String.valueOf(squ.getArea()));
        System.out.println("正方形对角线为:"+String.valueOf(squ.getDiagonal()));
      }
    }
      

  10.   

    还是有错误:
    C:\>javac Square.java
    .\Rect.java:9: cannot resolve symbol
    symbol  : variable h
    location: class Rect
        return h*w;
               ^
    .\Rect.java:9: cannot resolve symbol
    symbol  : variable w
    location: class Rect
        return h*w;
                 ^
    2 errors
      

  11.   

    这个错误被我修改好,
    h -->heigth
    w -->width
      

  12.   

    yuppiegz()写的代码我想足够交差了,同志
    老师无非是想考察一下你对接口和继承的知识,没必要再来输出什么的