参照変数名を取得します。これは正常に動作します Javaでオブジェクトがそのメソッドを呼び出すときに、実行メソッドの "Reference Variable"名が必要です
はMyClass c1=new MyClass("A0001");
c1.myMethod(c1);
System.out.println(c1.Persons.get(0).Name); // output is: A0001_1
クラスは次のとおりです。
class MyClass{
public List<Person> Persons = new ArrayList<Person>();
public String name="";
MyClass(String name){
this.name=name;
}
void myMethod(MyClass c){
Persons.add(new Person(c));
}
}
class Person{
public static int Num=0;
public String Name="";
Person(MyClass c){
Num++;
this.Name=c.name+"_"+Num;
}
}
が、私はそれは私がに置くことができるか、この
MyClass c1=new MyClass("A0001");
c1.myMethod();
System.out.println(c1.Persons.get(0).Name);
class MyClass{
public List<Person> Persons = new ArrayList<Person>();
public String name="";
MyClass(String name){
this.name=name;
}
void myMethod(this){
// which Reference Variable calls this method?
System.out.println("name of the Reference Variable="+???);
Persons.add(new Person(this));
}
のようになりたいです?
プログラムで「c1」をどのように表示できますか?
ヒントで答えを確認:あなたは、私たちはあなたを助けるために私たちの時間を過ごしたいです。だから、できるだけ簡単にするために必要な時間を少し費やしてください。 **プレビュー**機能を使用して、すべての**コードが適切に書式設定/インデントされていることを確認してください。それを超えて:それはPersonとPerson1という2つのクラスを持つことは本当に悪い考えです。もう1つは何ですか? 2つのクラスの違いは何ですか?また、フィールド名は小文字で始まります。 'Person'対' Person'を使うことは明らかに間違っているようです。 – GhostCat
あなたがここで尋ねていることはまったく明らかではありません。そしてあなたの編集は**誰かがあなたのためにした素敵な書式設定です** undid **。もう一度:プレビューエリアがあります。これを使って。 –
ありがとうございます。 – Ahmita