0

という抽象クラスがありAます。

public abstract class A {
 protected String name;
 A(String name){
  this.name=name;
 }
}

上記のクラスはパッケージcom.goog.product.demoパッケージにあります

次に、別のパッケージから、以下に示すようにオブジェクトを作成して、いくつかのテスト データをロードする必要があります。

次のクラスがパッケージに含まれていますcom.goog.product.test

public class Test {

 public void loadData(){
  A a =new A("NAME");
 }
}

しかし、私はエラーが発生してしまいます:

タイプ A をインスタンス化できません

その理由は次のとおりです。抽象クラスのオブジェクトを作成することはできません。いくつかのテスト値をロードできる他の方法はありますか?

4

3 に答える 3

6

抽象クラスはインスタンス化できません。あなたはそれをよりよく理解するためにこれを読むべきです。

抽象クラスを拡張することも、非抽象クラスにすることもできます。

于 2012-11-11T19:33:34.160 に答える
0

あなたがやろうとしているのは、新しいクラスを構築することだと思います。その場合、あなたがしなければならないのはこれだけです:

public class Aclass {

    private String name;

    public Aclass(String name) {
        this.name = name;
    }
}
于 2012-11-11T19:35:10.973 に答える
0

クラスを拡張してみてください.....

パブリッククラスBはAを拡張します{

于 2012-11-11T19:35:44.373 に答える