私はjavabeanスタイルのクラスを実装していますが、getters/setterを取り除き、代わりにパブリックフィールドを使用したいとします。コンパイルを中断せずにIntelliJ 14を使って効果的にリファクタリングする方法はありますか?IntelliJリファクタリングのプロパティ(get/setter)をフィールドに追加できますか?
例 - 前:
class Baratheon {
private String stannis;
public String getStannis() {
return stannis;
}
public void setStannis(String stannis) {
this.stannis = stannis;
}
}
class Lannister {
public Lannister() {
Baratheon b = new Baratheon();
b.setStannis("dead");
}
}
--after:
class Baratheon {
public String stannis;
}
class Lannister {
public Lannister() {
Baratheon b = new Baratheon();
b.stannis = "dead";
}
}
あなたがそれをやりたいのはなぜ?フィールドへのアクセスを許可するためのネイティブサポートを持つフィールド値や言語へのアクセスを制御する良い理由もあります*あなたのAPIを破ることなくgetter/setterに戻る手段を提供します。 Javaでは不可能です。誰かがあなたのフィールドにアクセスすると、APIを変更しなくてもそれを取り戻すことはできません。 – sisyphus
私はその議論を避け、intellijの機能に焦点を合わせることを望んでいました – Nilzor