Javaの(再)学習ツールとしてRPGっぽいゲームを書いていたのですが、このサイトにコードを載せるのはちょっと難しいので、簡易版を作って投稿しました。
人のゲッターを呼び出すと、Godクラスでコンパイルエラーが発生します(シンボルが見つかりません)
class God{
psvm(s [] args){
s.o.p("I create people and stuff and try to tell you about it")
People godsCreatedPerson = new People();
Stuff godsCreatedStuffForTheCreatedPerson = new Stuff();
s.o.p("Im the persons creator, so I should know stuff about him and his stuff");
s.o.p("Im going to try to tell you about my created person now:" + godsCreatedPerson.getPeopleNumberOfLegs); //error cannot find symbol
s.o.p("Im going to try again:" + godsCreatedPerson.getPeopleNumberOfFingers); //error cannot find symbol
s.o.p("but I cant tell you, even though I created this person, and I have his getters")
}
}
God クラスによって作成された Stuff オブジェクトを呼び出すと、People クラスで別のコンパイル エラー (シンボルも見つからない) が発生します。
class People{
s.o.p("I have setters");
s.o.p("I have getters for my creator, so I can tell him about myself");
public int getPeopleNumberOfLegs(){
return myNumberOfLegs;
}
public int getPeopleNumberOfFingers(){
return myNumberOfFingers;
}
void imGoingToTryToDoSomethingWithTheStuffIOwnButDidntCreate(){
personsAttempt = godsCreatedStuffForTheCreatedPerson.doSomethingWithMe() //Person = God.Stuff
s.o.p("hmm it seems I cant do it, because I didnt CREATE the stuff"); //error cannot find symbol
}
}
God クラスも Person クラスも呼び出さないため、 Stuff クラスにエラーはありません
class Stuff{
s.o.p("i have getters and setters");
s.o.p("i have methods too!!");
void doSomethingWithMe(){
}
s.o.p("no problems with me, because I dont call my creator nor my owner");
}