![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
以下のプログラムで下記にのせる実行結果の様に動くソースコードの元を載せています。
以下のソースコードを拡張させて、プログラムを動く様にしたいのですが、kadai12の部分のインスタンス生成の部分が、型 インスタンスが生成できませんというエラーが出てしまいます。
どの様にして、解決すれば良いでしょうか?
//kadai12パッケージ:Kadai12.java
//修正可能箇所ここから
//修正可能箇所ここまで
//以下、Kadai12クラスは修正しないこと
public class Kadai12 {
public static void main(String[] args) {
Polygon[] p = new Polygon[3];
p[0] = new Triangle(10);
p[1] = new Triangle(7);
p[2] = new Triangle(5);
for(int i=0;i<3;i++) {
p[i].showAll();
}
}
}
//ruleパッケージ:Calculation.java
//修正禁止
package rule;
public interface Calculation {
void calcArea();
void calcPerimeter();
}
//shapeパッケージ:Polygon.java
//修正禁止
package shape;
public abstract class Polygon {
private int line;
public Polygon() {
System.out.println("図形を生成します");
}
public Polygon(int line) {
this();
this.setLine(line);
}
public int getLine() {
return line;
}
public void setLine(int line) {
if(0<line && line<=10) this.line = line;
else this.line = 5;
}
public void showAll() {
System.out.println("指定された図形の面積、外周、描写を行います");
}
public abstract void drow();
}
//shapeパッケージ:Triangle.java
//修正自由
public class Triangle{
}
![「抽象クラスのインスタンス生成について」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/5/542999721_5f03f786057ef/M.png)
No.5ベストアンサー
- 回答日時:
>Polygonを継承する際に、abstractにしないとエラーが出たため、
>abstract型にしました
それは実装してないメソッドが残ってるから。
全部実装して具象クラスにしないと使えないです。
No.3
- 回答日時:
これは酷いね。
①TriangleはなんでPolygonを継承しないの?
②Triangleの、辺の長さを指定するコンストラクタはなんで無いの?
③CalculationはTriangleで実装しないの?
②がTriangleのインスタンスの生成を出来なくしてるし
①はTriangleのインスタンスの配列への代入を出来なくしてます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java final 1 2022/06/10 22:49
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java Java 配列<選挙> 4 2023/07/31 15:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インスタンス参照でアクセスで...
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
VB.NET getとsetの概念がわかり...
-
private static という変数の修飾
-
javaのクラスの作り方、エラー...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
インスタンスを同じ名前で作成...
-
エクセル(複数インスタンス)...
-
生成したインスタンスを削除す...
-
VC#での24ビットbmp形式での保...
-
文字列を日付に変換でParseExce...
-
objective-cで分かりにくい所教...
-
VB6.0で、DLLを動的に参照したい
-
オブジェクト参照がオブジェク...
-
Delphiでインスタンスが作成さ...
-
C#の構造体の開放のしかた
-
非staticフィールドを参照でき...
-
SQLを連続発行する時の正しい(?...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
private static という変数の修飾
-
複数の変数を宣言する時、同時...
-
VB.NET getとsetの概念がわかり...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
「インスタンス」の意味をわか...
-
変数の参照でエラーが出てしま...
-
SQLを連続発行する時の正しい(?...
-
オブジェクト参照がオブジェク...
-
文字列を日付に変換でParseExce...
-
javaのクラスの作り方、エラー...
-
VB6.0で、DLLを動的に参照したい
-
インスタンスを同じ名前で作成...
-
エクセル(複数インスタンス)...
-
フォームの存在をチェックする方法
-
C#「オブジェクト参照が必要で...
-
newしないインスタンス?実体化...
おすすめ情報
一様、プログラムが動くように、importしたり、また、Triangleのプログラムで引数に合うようにインスタンスを作ったりしたのですが、Kadai12を実行したら型 Triangleのインスタンスが生成できないというエラーが出ました。
Kadai12は以下の様に修正しています。
package Kadai12;
import shape.Polygon;
import shape.Triangle;
public class Kadai12 {
public static void main(String[] args) {
Polygon[] p = new Polygon[3];
p[0] = new Triangle(10);
p[1] = new Triangle(7);
p[2] = new Triangle(5);
for(int i=0;i<3;i++) {
p[i].showAll();
}
}
}
Triangkeのプログラムに関しては以下の様に修正しています。
Triangleに関しては以下の様に修正しています。
package shape;
import rule.Calculation;
import shape.Polygon;
public abstract class Triangle extends Polygon implements Calculation{
public Triangle(int i) {
}
}
Polygonを継承する際に、abstractにしないとエラーが出たため、abstract型にしました