0

これをコンパイルしようとすると、「シンボル コンストラクター Armor(int,int,int,java.lang.String) が見つかりません」と表示されます。ただし、Armor(blunt、pierce、cut、name) を Armor() に変更すると、完全に正常に動作します。1 つのファイルで複数のクラスを使用している場合、コンストラクターをオーバーロードすることはできませんか (ここでは、1 つのファイルにクラスの抵抗とクラスの鎧があります)。複数のファイルを提出できないコンテストのためにこれを練習しているので、それらを同じファイルに入れることが絶対に必要です.

public class resistance
{
    public static void main (String [] args)
    {
        int blunt=4;
        int pierce=2;
        int cut=7;
        String name="Helmet";
        Armor item = new Armor(blunt, pierce, cut, name);
    }
}

class Armor
{
int blunt;
int pierce;
int cut;
String name;

void Armor()
{
    blunt=0;
    pierce=0;
    cut=0;
    name="";
}

void Armor(int a, int b, int c, String d)
{
    blunt=a;
    pierce=b;
    cut=c;
    name=d;
}
}
4

3 に答える 3

6

void Armor(...)クラスと同じ名前のメソッドです。
Armor(...)コンストラクタです。

于 2012-04-12T22:56:34.000 に答える