これは、Line
ベクトルとして指定された 2 つの点をパラメーターとして取り、それらの間を通過する無限線をモデル化します。2 番目のクラス はBoundedLine
、2 つの点を取り、それらを結ぶ有限線をモデル化します。
2 つのポイントが同じである場合、によって例外がスローされLine
ます。つまり、スーパー コンストラクターへの呼び出しをBoundedLine
try catch ブロックでラップする必要があります。残念ながら、パラメーターは try ブロック内では使用できないようです。どうすればそれらにアクセスできますか?
// Constructor in Line
public Line (Vector start, Vector end) throws Exception {
if (start.equals (end)) {
throw new Exception ( "Points are the same" );
}
else {
this.start = start;
this.end = end;
modelLine (start, end);
}
}
// Constructor in BoundedLine
public BoundedLine (Vector start, Vector end) throws Exception {
try {
super (start, end);
}
catch (Exception e) {
throw e;
}
applyBoundaries (start, end);
}
「クラス Line のコンストラクター Line は指定された型に適用できません。必須: Vector,Vector; 検出: 引数なし; 理由: 実引数リストと仮引数リストの長さが異なります」というコンパイル時エラーが発生します。
例外と try/catch ブロックを削除すると、コードは正常に機能します。