2011-02-09 4 views
1

問題が発生していて、thisを正しく使用しているのでしょうか?Java ... 'this'を正しく使用していますか?

これは問題ありませんか?

public person{ 
. 
. 
. 
    public void setmother(person mom){ 
     mom.addchild(this); 
    } 

私はpersonbクラスを作成しました。お母さんの中に、クラスに子供を追加するメソッドを使いたいと思います。私は、クラスの現在のインスタンスをクラスのmomインスタンスの子の配列に追加したいと思います。

私は言葉がダウンしているかどうかわからない...うまくいけば、誰かが私がやろうとしていることを理解している!

+3

のjavaには 'self'キーワードはありません。私はあなたが「これ」を意味すると思います。あなたのクラスをもっと見ることなく、私たちは分かりません。 'public person {'は構文エラーです。 – Falmarri

+0

Javaの場合、[コーディング・スタイル規則(http://www.oracle.com/technetwork/java/codeconvtoc-136057.html)]をもう一度見てください。それはあなたには何も費やさず、他人があなたのコードを簡単に掘り下げることができます。 –

+0

これは「this」と呼ばれています。それに固執する、Pythonの人は 'これも聞いて嫌いです;)質問は...非常に曖昧かつ基本的です。少なくとも.addchildはどのように見えるのですか? – delnan

答えて

1

はい、上記のコードの他の構文エラーにかかわらず、 "self"と呼ばれているのではなく、正しくthisを使用しています。

6

あなたのコードは正常であるように見えます。つまり、「この」を正しく使用しています。

また、母親に子供からポイントフィールドを設定するために、おそらく良いアイデアだ - つまり、それ以外の場合は、将来的に対応する「getMother」メソッドを実装するのは難しいことができますような何か:

public class Person { 
    private Person mother; 
. 
. 
. 
    public void setMother(Person mom){ 
     mom.addChild(this); 
     mother=mom; 
    } 
. 
. 
} 
私が変わってしまう

他のマイナーな事は、通常のJavaのスタイルに沿って、より多くであるために命名規則です:

  • 人=>人(クラス名は大文字で始まる)
  • setmother => setMother(メタOD名は小文字で始まりますが、次の単語を大文字)を使用
  • にaddChild =>はaddChild
関連する問題