можно что-то подобное в java сделать?
static public final {
String A = "a...";
int B = 3;
boolean C = true;
}
Благодарность!
РЕДАКТИРОВАТЬ: извините, я допустил ошибку в своем примере .. Мне не нужны только строки ..
можно что-то подобное в java сделать?
static public final {
String A = "a...";
int B = 3;
boolean C = true;
}
Благодарность!
РЕДАКТИРОВАТЬ: извините, я допустил ошибку в своем примере .. Мне не нужны только строки ..
Неправильный синтаксис. Но сделать это можно так:
public static final String A = "a...", B = "b...", C = "c...";
Или, ближе к вашей версии (пробелы в Java неактуальны):
public static final String
A = "a...",
B = "b...",
C = "c...";
Для справки, вот официальная грамматика для объявлений полей из спецификации языка Java:
FieldDeclaration:
FieldModifiersopt Type VariableDeclarators ; # one variable type only
VariableDeclarators:
VariableDeclarator
VariableDeclarators , VariableDeclarator # one or more variables
VariableDeclarator:
VariableDeclaratorId
VariableDeclaratorId = VariableInitializer
VariableDeclaratorId:
Identifier
VariableDeclaratorId [ ]
VariableInitializer:
Expression
ArrayInitializer
Итак, как вы можете видеть (из моих комментариев), вы можете объявить несколько полей одного типа с общими модификаторами, но вы не можете смешивать типы.
Вы имеете в виду как?
public interface Constants {
String A = "a...";
String B = "b...";
String C = "c...";
}
В вашем коде вы можете использовать статический импорт.
import static Constants.*;
System.out.println(A);
Нет, это не так.
Обычно умное автозаполнение в предпочтительной среде IDE немного помогает. Например. в netbeans вкладка «Psfs» + расширяется до общедоступной статической конечной строки
Нет. На данный момент ни одна версия Java не позволяет вам это делать.
Признаюсь, даже если это было бы действительно полезно.
static { ... }
.
- person Jesper; 09.06.2011
Вы можете объявить статический блок и в этом статическом блоке создать переменные:
public class TestS {
static {
String a = "a...";
int b = 3;
boolean c = true;
}
Но как только вы покинете область действия этого статического блока, вы не сможете ссылаться на a
, b
или c
.
public static void main(String[] args) {
System.out.println(a); // won't compile
}
}
В основном a
не может быть преобразован в переменную.