Здравствуйте. У меня есть такой код: "class Permission{
final String name;
const Permission(this.name);
}
class ReaderPermisssion extends Permission{
const ReaderPermisssion(String name):super(name);
static final ReaderPermisssion ALLOW_READ = const ReaderPermisssion("ALLOW_READ");
}
class AdminPermission extends Permission{
const AdminPermission(String name):super(name);
static final AdminPermission ALLOW_WRITE = const AdminPermission("ALLOW_WRITE");
}
main(){
}
"
----------------------------------------------------------
Объясните почему в константах поля: ALLOW_WRITE и ALLOW_READ, сами не содержатся?(Надеюсь вопрос понятен,т.е. почему нельзя ALLOW_WRITE.ALLOW_WRITE.ALLOW_WRITE...........)
Моя версия заключатся в том,что из-за static они в принципе не являются полями классов.
cosnt - это константа времени компиляции.
То есть она сразу есть с apk.
В ALLOW_WRITE у тебя экземпляр класса AdminPermission. У него есть поле name, но нет поля ALLOW_WRITE.
Да и откуда ему взяться, это же значение для name.