聯成電腦技術論壇

 找回密碼
 註冊
搜索
查看: 2350|回復: 2

[問題] 請高手解答一下 @@b

[複製鏈接]
發表於 2012-2-19 21:58:40 | 顯示全部樓層 |閱讀模式
本帖最後由 MemoriseOff 於 2012-2-19 22:00 編輯

小孟老師有說用方法寫出這題目,下面是可以編譯的,但是我把System那行改了一下,編譯就出錯了,請問問題是出在哪邊?

可以編譯的:
class CShape
{
        public double area()
        {
                return 1.0;
        }
}
class CCircle extends CShape
{
        double radius;
        public double area(double r)
        {
                return r*r*3.1415926;
        }
}
class CSquare extends CShape
{
        double side;
        public double area(double s)
        {
                return s*s;
        }
}
class CTriangle extends CShape
{
        double base,height;
        public double area(double b,double h)
        {
                return b*h/2;
        }
}
public class test
{
        public static void main(String args[])
        {
                CShape s01=new CCircle();
                System.out.println(((CCircle)s01).area(2.0));

                CShape s02=new CSquare();
                System.out.println(((CSquare)s02).area(2.0));

                CShape s03=new CTriangle();
                System.out.println(((CTriangle)s03).area(2.0,2.0));
        }
}

編譯錯誤的
public class test
{
        public static void main(String args[])
        {
                CShape s01=new CCircle();
                System.out.println(s01.area(2.0));

                CShape s02=new CSquare();
                System.out.println(s02.area(2.0));

                CShape s03=new CTriangle();
                System.out.println(s03.area(2.0,2.0));
        }
}

test.java:37: error: method area in class CShape cannot be applied to given type
s;
                System.out.println(s01.area(2.0));
                                      ^
  required: no arguments
  found: double
  reason: actual and formal argument lists differ in length
test.java:40: error: method area in class CShape cannot be applied to given type
s;
                System.out.println(s02.area(2.0));
                                      ^
  required: no arguments
  found: double
  reason: actual and formal argument lists differ in length
test.java:43: error: method area in class CShape cannot be applied to given type
s;
                System.out.println(s03.area(2.0,2.0));
                                      ^
  required: no arguments
  found: double,double
  reason: actual and formal argument lists differ in length
3 errors
 樓主| 發表於 2012-2-19 22:25:52 | 顯示全部樓層
XDD 已經不用麻煩高手了=3=
我知道錯在哪邊了 
造成大家的麻煩非常的抱歉=3=
發表於 2012-2-20 18:49:31 | 顯示全部樓層
複寫跟多載是不一樣的東西吧~
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

小黑屋|Archiver|手機版|聯成電腦技術論壇

GMT+8, 2024-11-15 10:05

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表