JavaにC#のような自動プロパティがないのはなぜですか?

セルジオタピア:

C#には、コードを大幅に簡略化する自動プロパティがあります。

public string Name { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }

一方、Javaは次のようなコードを記述します。

private String name;
private String middleName;
private String LastName;

public String Name(){
   return this.name;
}

etc..

Javaがこのようなものを実装していない特別な理由はありますか?

ジェスパー:

特に下位互換性を重視する場合は、既存のプログラミング言語に新しい機能を追加することはそれほど簡単ではありません。Sunは常にJavaに新機能を追加する際に非常に注意を払っています。何故なら、何年にもわたって記述された何百万ものJavaプログラムが新しい言語機能によって破壊されないようにするためです。

したがって、これを言語に追加するだけの問題ではありません。追加する新機能に微妙な下位互換性の問題がないかどうかを確認するために、非常に慎重に検討して試してみる必要があります。

Javaで何らかの形でプロパティのサポートを追加する提案がありましたが、Java 7(次のバージョンが登場する)のように見えますが、これは検討中の機能ではありません。

アノテーションを使用して、Javaの一種の拡張であるProject Lombokを見て、より簡潔なコードを作成できるようにすることもできます(たとえば、フィールドのゲッターとセッターを自動的に生成できます)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

boolプロパティがリストの要素(c#)に自動的に追加されないようにするにはどうすればよいですか?

分類Dev

C#6.0の自動プロパティ初期化で「this」が使用できないのはなぜですか?

分類Dev

「自動」値があるのに、WPFの「高さ」プロパティがこのように動作するのはなぜですか?

分類Dev

(display:flex)が継承されたプロパティのように動作するのはなぜですか?

分類Dev

一部のJavaセッターメソッドが自動的にKotlinプロパティになるのに、そうでないものがあるのはなぜですか?

分類Dev

JavaプロパティファイルがC:\ Windowsに表示されないのはなぜですか

分類Dev

'_'で始まるプロパティが自動的に作成されるのはなぜですか?

分類Dev

自動実装されたプロパティのみがC#で初期化子を持つことができるのはなぜですか?

分類Dev

モデルプロパティがかみそりの自動生成ビューに反映されないのはなぜですか?(MVC 4)

分類Dev

C#/ VSにJava / Eclipseのような自動ビルド機能がない理由は何ですか?

分類Dev

Java 7にネイティブプロパティがないのはなぜですか?

分類Dev

C#で、クラスプロパティの値がない場合にのみ、その値を生成するにはどうすればよいですか?

分類Dev

SwiftがJavaやC#ほどプロパティにgetterとsetterを使用しないのはなぜですか?

分類Dev

NumericUpDownのTextプロパティがIntellisenseによって提案されないのはなぜですか?

分類Dev

Cでは、子プロセスが自動的に取得されないのはなぜですか?

分類Dev

hbm2ddl.auto'update 'プロパティが機能しないのはなぜですか、またはどのように機能しますか?

分類Dev

プロパティが関数のように機能するのはなぜですか?

分類Dev

JavaプログラマーのようにC#プログラマーがRubyに引き付けられないのはなぜですか

分類Dev

アクティブなパターンがこのように動作するのはなぜですか?

分類Dev

CSSグリッドの自動入力プロパティが列方向で機能しないのはなぜですか

分類Dev

C#のDisposeパターンがC ++のRAIIのように機能しないのはなぜですか

分類Dev

プロパティの色が読めないのはなぜですか?

分類Dev

DefaultStringValueというプロパティが常にIntelliSenseで最初に表示されるのはなぜですか?

分類Dev

よく知られたシステムプロパティ名の定数がJavaにないのはなぜですか?

分類Dev

Javaのラッパークラスが参照型のように動作しないのはなぜですか?

分類Dev

配列に特定のプロパティ長があるのはなぜですか、プロトタイプにないのはなぜですか?

分類Dev

FSharpOptionの一部のプロパティ(IsSomeやIsNoneなど)がC#から表示されないのはなぜですか?

分類Dev

CSS変数で継承するように設定された表示プロパティが機能しないのはなぜですか?

分類Dev

同じプロパティを持つ2つのオブジェクトが同じように機能しないのはなぜですか

Related 関連記事

  1. 1

    boolプロパティがリストの要素(c#)に自動的に追加されないようにするにはどうすればよいですか?

  2. 2

    C#6.0の自動プロパティ初期化で「this」が使用できないのはなぜですか?

  3. 3

    「自動」値があるのに、WPFの「高さ」プロパティがこのように動作するのはなぜですか?

  4. 4

    (display:flex)が継承されたプロパティのように動作するのはなぜですか?

  5. 5

    一部のJavaセッターメソッドが自動的にKotlinプロパティになるのに、そうでないものがあるのはなぜですか?

  6. 6

    JavaプロパティファイルがC:\ Windowsに表示されないのはなぜですか

  7. 7

    '_'で始まるプロパティが自動的に作成されるのはなぜですか?

  8. 8

    自動実装されたプロパティのみがC#で初期化子を持つことができるのはなぜですか?

  9. 9

    モデルプロパティがかみそりの自動生成ビューに反映されないのはなぜですか?(MVC 4)

  10. 10

    C#/ VSにJava / Eclipseのような自動ビルド機能がない理由は何ですか?

  11. 11

    Java 7にネイティブプロパティがないのはなぜですか?

  12. 12

    C#で、クラスプロパティの値がない場合にのみ、その値を生成するにはどうすればよいですか?

  13. 13

    SwiftがJavaやC#ほどプロパティにgetterとsetterを使用しないのはなぜですか?

  14. 14

    NumericUpDownのTextプロパティがIntellisenseによって提案されないのはなぜですか?

  15. 15

    Cでは、子プロセスが自動的に取得されないのはなぜですか?

  16. 16

    hbm2ddl.auto'update 'プロパティが機能しないのはなぜですか、またはどのように機能しますか?

  17. 17

    プロパティが関数のように機能するのはなぜですか?

  18. 18

    JavaプログラマーのようにC#プログラマーがRubyに引き付けられないのはなぜですか

  19. 19

    アクティブなパターンがこのように動作するのはなぜですか?

  20. 20

    CSSグリッドの自動入力プロパティが列方向で機能しないのはなぜですか

  21. 21

    C#のDisposeパターンがC ++のRAIIのように機能しないのはなぜですか

  22. 22

    プロパティの色が読めないのはなぜですか?

  23. 23

    DefaultStringValueというプロパティが常にIntelliSenseで最初に表示されるのはなぜですか?

  24. 24

    よく知られたシステムプロパティ名の定数がJavaにないのはなぜですか?

  25. 25

    Javaのラッパークラスが参照型のように動作しないのはなぜですか?

  26. 26

    配列に特定のプロパティ長があるのはなぜですか、プロトタイプにないのはなぜですか?

  27. 27

    FSharpOptionの一部のプロパティ(IsSomeやIsNoneなど)がC#から表示されないのはなぜですか?

  28. 28

    CSS変数で継承するように設定された表示プロパティが機能しないのはなぜですか?

  29. 29

    同じプロパティを持つ2つのオブジェクトが同じように機能しないのはなぜですか

ホットタグ

アーカイブ