2

重複の可能性:
#ifdef #ifndef in Java

次のようなものを使用して、Android コードにいくつかのデバッグ メッセージを実装しようとしています。

private static final boolean DEBUG = false;

if (DEBUG) {
// some code
}

ただし、コンパイル時に「不正な式の開始」エラーが発生し続けます。最終ブール値は機能しますが、静的でもプライベートでも機能しません。

メソッドで DEBUG 変数を宣言しています。また、これを必要とするすべてのメソッドで宣言するのではなく、同じJavaファイル内のすべてがそれを見ることができるように、これをグローバルにする方法があればありがたいです。

ありがとう!

4

2 に答える 2

5

変数をそのクラスのすべてのメソッドから見えるようにする場合は、クラス レベルで変数を宣言する必要があります。

メソッド内で次のことを行う場合:

private static final boolean DEBUG = false;

問題は、修飾子privatestaticがメソッド内で許可されていないことです。


実際、この種の目的にはロガーを使用する必要があります。

于 2012-11-01T01:57:37.857 に答える
1

クラスの先頭で宣言するだけです(メソッドの外側ですが、クラス自体の中にあります)。

public class MyClass { 
    private static final boolean DEBUG = false;
    ... 
}

このようにして、DEBUGで定義したすべてのメソッドからアクセスできますMyClass。メソッド内で変数を定義するときにprivate/修飾子を使用できないため、エラーが発生します。これらはクラス フィールドでのみ使用できます ( andについても同様ですが、どこでも使用できます)。staticpublicprotectedfinal

于 2012-11-01T01:57:55.680 に答える