-4

派生していないクラスで super キーワードを使用できますか。(Sun Certified Programmer for Java 2 の第 7 章にそのようなコードがあります)。ここでは、サブクラスではない OfficeRoom クラスで使用しています。

1st question example code:
Building.Java

public class Building
{
long length;
long width;

OfficeRoom [] officeRooms; // The building has number of rooms

public Building (long len,long wid,OfficeRoom [] ors)
{
length = len;
width = wid;
officeRooms = ors;
}

public long area()
{
return length * width;
}
}




OfficeRoom.java

public class OfficeRoom
{
long length;
long width;

public Office(long len,wid)
{
super(len,wid)  //What is the job of super here?? It is not inside a subclass??
}

public long area()
{
return length * width;
}
}

それは可能ですか、それとも本に間違って書かれていますか?

4

2 に答える 2

4

すべてが Object から派生しているため、答えは常にyesになります。コンストラクターの最初のコード行である限り、 super() を使用できます。もちろん、建設的なことは何もしませんが、それでも呼び出すことができます。

于 2012-06-10T21:49:43.130 に答える
1
  1. Object 以外のすべてのクラスは派生していますが、あなたはそれを書いていません。だから質問は無意味です。

  2. いいえ。

于 2012-06-11T00:42:48.710 に答える