2

私はJavaが初めてで、簡単なコードを書きました:

1 package Rndom;
2 class Clmm{
3   
4 }
5 public class Clkk {
6  
7   Clmm klm;
8   klm = new Clmm();
9
10 }

Eclipse に次のエラーが表示されます。

syntax error on token ";" , , expected on line 7

このエラーが表示される理由を見つけようとしています。

4

4 に答える 4

4

これらの行を入れます

 Clmm klm;
 klm = new Clmm();

public static void main など

public static void main(String [] args)
{
 Clmm klm;
klm = new Clmm();
}
于 2012-07-29T15:51:19.000 に答える
2

クラス定義のメソッドまたはコンストラクターの外部にステートメントを配置することはできません。

klm = new Clmm();
于 2012-07-29T15:52:55.770 に答える
2

のようClmm klm = new Clmm();にする

public class Clkk {

   private Clmm klm = new Clmm();

   // getter setter for klm
}

またはklm、次のようなコンストラクターでインスタンス化します。

public class Clkk {

   private Clmm klm;
   public Clkk() {
       klm = new Clmm();
   }
   // getter setter for klm
}

または、次のようにブロックすることができます

public class Clkk {

   private Clmm klm;

   { // this is called block and this is equivalent to constructor. But you can not pass arguments to block. Prefer constructors.
       klm = new Clmm();
   }
   // getter setter for klm
}
于 2012-07-29T15:50:40.033 に答える
1

メソッドの減速中に、メソッドの外部で変数を初期化できます。それが理由です

private Clmm klm = new Clmm(); //deceleration and initialization

お世話になりました。ただし、いったん宣言すると (デフォルト値であっても初期化すると)、メソッドまたはブロック内でのみ値を変更できます。そのため、次のコードが機能しませんでした。

Clmm klm; // deceleration and initialization to default value  
klm = new Clmm(); //assignment, which is a statement that cannot be outside of a block/method
于 2012-07-29T16:36:23.253 に答える