痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 3953|回復: 6

一個關於Java的問題...(類別繼承)

[複製鏈接]
發表於 2010-4-29 01:45:21 | 顯示全部樓層 |閱讀模式
class Car
{
        private String engineNum,color;
        public Car(String a)
        {
                System.out.println("請輸入車子的品牌:"+a);
        }
        public void setEngineNum(String a)
        {
                engineNum = a;       
                System.out.println("請輸入引擎號碼:"+a);
        }
        public void setColor(String a)
        {
                color = a;
                System.out.println("請輸入車子的顏色:"+a);
        }
        public String getEngineNum()
        {
                String a;
                a=engineNum;
                return a;
        }
        public String getColor()
        {
                String a;
                a = color;
                return a;
        }
}
class Nisson extends Car
{
       
}

這是期中考要做出來的東西,小弟的繼承不知道哪邊有問題,會出現ERROR....
原本以為是函數寫錯,所以砍掉了,但是還是有錯...
只要把Nisson子類別註解掉就不會ERROR,所以...想知道哪邊錯了...
錯誤訊息是:
--------------------Configuration: <Default>--------------------
C:\Users\Sinhao\Java\p1.java:31: cannot find symbol
symbol  : constructor Car()
location: class Car
class Nisson extends Car
^
1 error

Process completed.

想請問看看有沒有Java高手知道小弟哪裡寫錯了...
頭快炸掉了...n_065|
發表於 2010-4-29 08:16:23 | 顯示全部樓層
你的Nisson 裡面沒有建構子
寫個建構子看看
class RacingCar extends Car
{
private int course;
public RacingCar()
{
course=0;
System.out.println("Creat a Car");
}
}
 樓主| 發表於 2010-4-30 00:22:30 | 顯示全部樓層

回復 2# 的帖子

報告大大
我加了也一樣耶 n_004|

class Car
{
        private String engineNum,color;
        public Car(String a)
        {
                System.out.println("請輸入車子的品牌:"+a);
        }
        public void setEngineNum(String a)
        {
                engineNum = a;       
                System.out.println("請輸入引擎號碼:"+a);
        }
        public void setColor(String a)
        {
                color = a;
                System.out.println("請輸入車子的顏色:"+a);
        }
        public String getEngineNum()
        {
                String a;
                a=engineNum;
                return a;
        }
        public String getColor()
        {
                String a;
                a = color;
                return a;
        }
}
class RacingCar extends Car
{
private int course;
public RacingCar()
{
course=0;
System.out.println("Creat a Car");
}
}
public class p1
{
        public static void main(String args[])
        {
                RacingCar test1 = new RacingCar();
        }
}

--------------------Configuration: <Default>--------------------
C:\Users\Sinhao\Java\p1.java:35: cannot find symbol
symbol  : constructor Car()
location: class Car
{
^
1 error

Process completed.

是要import什麼嗎??
發表於 2010-5-1 23:24:20 | 顯示全部樓層
我用eclipse測過沒什麼大問題 只有警告而已 也沒error
大大要不要用打的 在重打一次 搞不好有什麼字元在搞鬼

class Car
{
        private String engineNum,color;
        public Car()
        {
                System.out.println("Creat a New Car");
        }
        public Car(String a)
        {
                System.out.println("請輸入車子的品牌:"+a);
        }
        public void setEngineNum(String a)
        {
                engineNum = a;      
                System.out.println("請輸入引擎號碼:"+a);
        }
        public void setColor(String a)
        {
                color = a;
                System.out.println("請輸入車子的顏色:"+a);
        }
        public String getEngineNum()
        {
                String a;
                a=engineNum;
                return a;
        }
        public String getColor()
        {
                String a;
                a = color;
                return a;
        }
}
class RacingCar extends Car
{
        int course;
        public RacingCar()
        {
                course=0;
                System.out.println("Creat a RacingCar");
        }
}
public class p1
{
    public static void main(String args[])
    {
                    RacingCar test1 = new RacingCar();
                    test1.getClass();
    }
}
發表於 2010-5-2 15:51:58 | 顯示全部樓層

回復 3# 的帖子

sos80065大,您要不要試看看小弟我寫的這個,從您的程式碼改的。
會出現錯誤,好像是因為
public Car(String a)
        {
                System.out.println("請輸入車子的品牌:"+a);
        }
沒有方法、成員可以去接收,所以要設定為沒有傳回值,可以將方法設定參數再加上void。
我學java,學的很爛,類別、繼承,這些章節,學的亂七八糟。可能有錯。
現在也忘了怎樣寫java了。


---------------我是程式碼----------------------------------
class Car
{
        private String engineNum,color;
        public void Car(String a)
        {
                System.out.println("請輸入車子的品牌:"+a);
        }
        public void setEngineNum(String a)
        {
                engineNum = a;
                System.out.println("請輸入引擎號碼:"+a);
        }
        public void setColor(String a)
        {
                color = a;
                System.out.println("請輸入車子的顏色:"+a);
        }
        public void show_car()
        {
               System.out.println("車子的引擎編號:" + engineNum);
               System.out.println("車子的顏色:" + color);
        }
}
class RacingCar extends Car
{
  private int course;
  public RacingCar(String car,String num,String color)
  {
    Car(car);
    setEngineNum(num);
    setColor(color);
    System.out.println("---------------使用show_car方法----------------");
    show_car();
    course=0;
    System.out.println("Creat a Car");
  }
}
public class p1
{
        public static void main(String args[])
        {
                RacingCar test1 = new RacingCar("gg","123","hh");
                //test1.RacingCar();
        }
}
p1.rar (501 Bytes, 下載次數: 33)
發表於 2010-5-3 13:01:32 | 顯示全部樓層
在class Car內多加上一個
Car() {
}
就會正常了,這是多型 建構子
若你NEW的時候不會用到初始化,那樓上大大的也是對的方法,讓JAVA自己來
 樓主| 發表於 2010-5-10 12:55:18 | 顯示全部樓層
感謝各位的回覆。
:)
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-4-23 10:17 PM , Processed in 0.067028 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.