81

私はJavaを学び始めたばかりです。

私の勉強を手伝ってくれている友達がこれを送ってくれて、「これを理解して」と言った。

残念ながら私はこれを読むことができません。私にはPerlのように見えます。

class _{_ _;_(){_=this;}}

どういう意味ですか?

4

3 に答える 3

156

_クラス名です。非常に紛らわしいものですが、機能します。

クラスの名前が変更された場合:

class Something {Something something;Something(){something=this;}}

そしてクリーンアップ:

class Something {
    Something something;
    Something() {
        something=this;
    }
}

そして、あなたはこの奇妙な命名に夢中になることができます:)

class _{_ __;_ ____;_(){__=this;____=__;}_(_ ___){__=___;}}

実際、Unicodeもサポートされているため、これは有効です。

class 合法類別名稱{合法類別名稱(){}}
于 2013-03-26T22:08:29.510 に答える
71

_はクラス名、アンダースコアは有効なJava変数名です。コードをインデントして、難読化を解除する必要があります。

class _{
    _ _;
    _(){
     _=this;
   }
}

好き:

class A{
    A A;
    A(){
     A=this;
   }
}

編集: @DanielFischerに感謝します

タイプ名と変数名の名前は異なります。たとえば、コードclass FOO { FOO FOO; }はJavaで有効です。

概要

  • _はクラス名です。class _{
  • _クラスメンバー名です。例:_ _;および_=this
  • _コンストラクター名です。_()

注意:Javaは6つの異なる名前空間を使用します。

  • パッケージ名、
  • タイプ名、
  • フィールド(変数)名、
  • メソッド名、
  • ローカル変数名(パラメーターを含む)、および
  • ラベル。

さらに、宣言された各列挙型には独自の名前空間があります。異なるタイプの同一の名前は競合しません。たとえば、メソッドにはローカル変数と同じ名前を付けることができます

于 2013-03-26T22:09:45.127 に答える
12

それは良い例です。Javaでは、Unicodeを識別子にすることができるため、次のように記述できます。

class ⲥlass {
ⲥlass claѕѕ;
}

ここで、クラス名のcは「ⲥ」(U + 2CA5 COPTIC SMALL LETTER SIMA)であり、

オブジェクト名の「ѕ」(U + 0455 CYRILLIC SMALL LETTER DZE)。

于 2013-03-27T12:19:06.507 に答える