プリミティブデータ型のラッパークラスであるという名前のクラスがパッケージにあるため、最初
に名前を避けてください。
このクラスは自動ボクシングの変換に使用されます。詳細はこちらCharacter
java.lang
Character
char
java.lang.Character
次に
、そのクラスの名前をに変更するChampion
と、確実に機能します。:)
第三
に、引数に適切なパラメータを渡していない。括弧を空白のままにした場合、コンストラクターにはパラメーターが必要です
それはどのようなものか
public class Character {//<-- avoid this name
public int attack, rangedAttack, manaAttack, defense, rangedDefense, manaDefense, strength, agility, intelligence ,race;
String name;
public Character(String Name, int Race) {
name = Name;
race = Race;
};//<-- Y U PUT SEMICOLON ?
public class QuestOfVallock{
public static void main(String[] args){
Character self = new Character(); //<-- Y U NO GIVE HIM PARAMETERS ?
}
それはどうあるべきか
public class Champion { //<-- Java-approved name
public int attack, rangedAttack, manaAttack, defense, rangedDefense, manaDefense, strength, agility, intelligence ,race;
String name;
public Character(String Name, int Race) {
name = Name;
race = Race;
}//<-- No semicolon
}//<-- Closing brace for class
public class QuestOfVallock{
public static void main(String[] args){
Champion self = new Champion("Little Java Child",1001); //<-- Unique race
}
}//<-- closing brace for class
私が提案するのは
Race
、
interface
public interface RaceConstants {
int ELF = 1;
int JAVA_CHILD = 1001;
int DWARF = 2;
}
だからあなたmain()
はこのように見えます:
public static void main(String[] args){
Champion self = new Champion("Little Java Child",RaceConstants.JAVA_CHILD; //<-- Unique race
}