Я думаю, что вы хотели использовать это вместо:
public Class Settings
{
public static final String WelcomeMessage= "helloworld";
public static final String ByeMessage= "yo";
public static String[] widgets = {WelcomeMessage,ByeMessage};
}
Но это лучше:
public Class Settings
{
public static String[] widgets = {"WelcomeMessage","ByeMessage"};
}
И да, вы можете получить доступ к WelcomeMessage
через Settings.widgets[0]
.
Редактировать: Упс - да - конечно, вы не можете получить к ним доступ по имени, только индексировать в массив.
Редактировать 2: Если вы сделаете поле защищенным или закрытым и предоставите методы 'getter', тогдадля любых пользовательских классов не имеет значения, как они реализованы:
public Class Settings
{
private static final String welcomeMessage= "helloworld";
private static final String byeMessage= "yo";
public static String getWelcomeMessage()
{
return welcomeMessage;
}
public static String getByeMessage()
{
return byeMessage;
}
}