- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
class JNewConnectionPanel extends JPanel {
public JNewConnectionPanel() {
this(true, false);
}
public JNewConnectionPanel(final boolean ok, final boolean cancel) {
// ...
if (ok) {
// ...
}
if (cancel) {
// ...
}
// ...
}
// ...
}
KirAmp 24.10.2010 09:56 # 0
Lure Of Chaos 24.10.2010 12:15 # +1
2. final переменная видна из анонимных классов, таких, как слушатели
3. вообще final (не параметрам и не конструктора, а, например, полям) помогает контролировать изменяемость параметров - в яве нужно по возможности повторно использовать обьекты
KirAmp 24.10.2010 13:19 # 0
Lure Of Chaos 24.10.2010 17:14 # 0
Анонимус 26.10.2010 03:29 # 0
Lure Of Chaos 26.10.2010 09:59 # 0
final - если наследование не имеет смысел
Анонимус 26.10.2010 14:38 # 0
Блох говорил что все классы должны быть или абстрактными (во всяком случае с мануалом по расширеню в жавадоке) или финальными.
Дескать в идеальной архитектуре третьего не до. Иначе кто-то наверняка нарушит контракт (принцип лискоу)
Lure Of Chaos 26.10.2010 16:20 # 0
я допускаю третий случай, что можно пользоваться классом и так, а можно добавить функциональности. Но при этом я большинство методов делаю финальными
Amok 28.10.2010 12:41 # −1
Также абсолютно не имеет смысла ставить final ссылкам на коллекции - само содержание коллекции можно изменить.
Потому в сишке еще есть смысл ставить const куда не лень, а в Java же final для переменной (а не класса или метода) имеет смысл только для доступа из анонимного класса к внешней переменной.
Lure Of Chaos 28.10.2010 13:37 # 0
1.final это не имеет значения, что по значению
этот кусок компилируется, хоть и не имеет смысла. второй кусок просто не скомпилируется
2. final для поля, например, коллекции позволит ее изменение, но запретит изменять ссылку на нее, что может как помочь повторно использовать обьекты (например, заставит написать v.clear() вместо v=new Vector() ), так и избавит от необходимости при обновлении синхронизировать содержание - например, с визуальным элементом навроде JList.
если же нам надо запретить изменение коллекции, можно воспользоваться одним из утилитных методов, например, обернуть в неизменяемый список, методом Collections.unmodifiableList(list)
user654321 24.10.2010 13:48 # 0
Lure Of Chaos 24.10.2010 17:13 # 0
absolut 24.10.2010 20:40 # 0
Lure Of Chaos 24.10.2010 20:58 # 0
absolut 25.10.2010 22:41 # 0
Lure Of Chaos 25.10.2010 22:59 # 0
Анонимус 26.10.2010 03:31 # 0
Сколько там строчек после каждого if?
и что за названия переменных? Не лучше ли передавать массив типов кнопок, которые можно нажать?
AHaHkacmHbIu_nemyx 25.08.2021 17:53 # 0