C#プロパティ(getおよびsetメソッドを意味する)は非常に便利な機能です。 does Java C#プロパティに似たものもあります。Javaで次のC#コードのようなものを実装する方法を意味します。
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
前もって感謝します
いいえ、Javaには同等のものはありません。アクセサーメソッドとミューテーターメソッド、ゲッターメソッドとセッターメソッドの派手な名前のみがあります。例:
public class User {
private String name;
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
}
Project Lombok を見ることができます。ボイラープレートJavaコードを書くことから苦痛を取り除こうとするためです。@ Getterと@Setterのいずれかを使用できます。 getBlah()およびsetBlah()メソッドを提供するアノテーション:
public class GetterSetterExample {
@Getter @Setter private int age = 10;
}
または、単に@Dataを使用すると、hashCode()、equals()、toString()、およびgetterメソッドが、非最終フィールドのセッターとともに自動的に実装されます。
@Data public class DataExample {
private String name;
}
しかし、このプロジェクトで見つけた問題は、それが少々ブードゥーであり、不快である可能性があり、自動コンパイルを機能させるにはEclipse(またはその他)プラグインをインストールする必要があるということです。
プロパティは、ユニットにカプセル化されたgetters
およびsetters
を書くという点で便利であるだけでなく、呼び出し時に適切な構文を提供します。
Window.Title = "New"; //which looks natural
getters
とsetters
を使用すると、通常は
Window.setTitle("New");
プロパティ(およびイベント)のC#のようなサポートをJavaに追加する提案がありましたが、Java(Java 7)の次のバージョンでは拒否されているようです。
見る:
プライベート変数を宣言するだけで、手動でメソッドを作成できます。ただし、Eclipseを使用している場合は、変数をクリックして、「ソース」および「ゲッターとセッターを生成」を選択できます。これは、C#プロパティとほぼ同じくらい便利です。