(нет) свойства в Java? - PullRequest
       36

(нет) свойства в Java?

54 голосов
/ 16 сентября 2008

Итак, я до недавнего времени умышленно оставлял себе Java n00b, и мое первое настоящее знакомство вызвало небольшой шок: у Java нет свойств стиля C #!

Хорошо, я могу жить с этим. Тем не менее, я также могу поклясться, что видел код getter / setter свойства в Java в одной кодовой базе, но я не могу вспомнить где. Как это было достигнуто? Есть ли для этого расширение языка? Это связано с NetBeans или с чем-то еще?

Ответы [ 13 ]

1 голос
/ 16 сентября 2008

Я просто выпускаю аннотации Java 5/6 и процессор аннотаций, чтобы помочь этому.

Выезд http://code.google.com/p/javadude/wiki/Annotations

Документация сейчас немного скудна, но быстрый совет должен донести идею.

По сути, он генерирует суперкласс с геттерами / сеттерами (и многими другими параметрами генерации кода).

Пример класса может выглядеть как

@Bean(properties = {
    @Property(name="name", bound=true),
    @Property(name="age,type=int.class)
})
public class Person extends PersonGen {
}

Доступно гораздо больше примеров, и в сгенерированном коде нет зависимостей времени выполнения.

Отправьте мне письмо, если вы попробуете это и сочтете это полезным! - Скотт

1 голос
/ 16 сентября 2008

Если вы используете eclipse, у него есть возможность автоматически генерировать метод получения и установки для внутренних атрибутов, это может быть полезным и экономящим время инструментом.

0 голосов
/ 07 января 2019

Как уже упоминалось ранее для eclipse, интегрированная среда разработки (IDE) часто может автоматически создавать методы доступа.

Вы также можете сделать это с помощью NetBeans.

Чтобы создать методы доступа для вашего класса, откройте файл класса, затем щелкните правой кнопкой мыши в любом месте редактора исходного кода и выберите команду меню Refactor, Encapsulate Fields. Откроется диалоговое окно. Нажмите «Выбрать все», затем нажмите «Рефакторинг». Вуаля,

Удачи,

...