Comments 25
strictfp это strict Floating Point. На эту тему советую почитать habrahabr.ru/blogs/cpp/112953/
CamelCase с маленькой буквы часто называют camelCase или lowerCamelCase.
CamelCase с маленькой буквы часто называют camelCase или lowerCamelCase.
+2
Интересно, а почему у Android установка слушателя события через set, а не add?
К примеру — setOnClickListener.
К примеру — setOnClickListener.
0
А где можно сдать такой экзамен на украине?
+2
Сколько скидка по партнерке вышла?
0
Ключевые слова необходимо выучить, вопросы на эту тему будут с большой вероятностью.
Про модификаторы доступа обязательно нужно знать что они значат и как применяются.
Модификаторы STATIC, FINAL, ABSTRACT, SYNCHRONIZED, STRICTFP, NATIVE, TRANSIENT, VOLATILE
Их возможные комбинации.
• final – нельзя изменять значение переменной, нельзя переопределять метод родителя, нельзя наследовать класс
• abstract – первая окончательная реализация класса должна переопределять все абстрактные методы. Не должно быть фигурных скобок.
Не сочетается с FINAL, PRIVATE, STATIC, NATIVE, STRICTFP, TRANSIENT
• synchronized – сочетается с любым из четырёх модификаторов доступа
• native – только для методов. Не должно быть фигурных скобок.
• strictfp – только для методов. Приводит работу с числами с плавающей запятой к определённому стандарту (IEEE 754).
• transient – отменяет сериализацию данной переменной
• volatile – применяется для безопасной работы с потоками
• static – можно помечать методы, переменные класса, вложенный класс, блоки инициализации
Также следует помнить, что конструктор не может быть FINAL, STATIC или ABSTRACT
Дополнение по поводу интерфейса:
• Методы всегда PUBLIC и ABSTRACT, даже если это не объявлено.
• Методы НЕ могут быть STATIC, FINAL, STRICTFP, NATIVE, PRIVATE, PROTECTED
• Переменные только PUBLIC STATIC FINAL, даже если это не объявлено.
• Переменные НЕ могут быть STRICTFP, NATIVE, PRIVATE, PROTECTED
• Может только наследовать (extend) другой интерфейс, но не реализовывать интерфейс или класс (implement).
Этой информации достаточно, чтобы ответить на все вопросы, связанной с модификаторами доступа и ключевыми словами.
Про модификаторы доступа обязательно нужно знать что они значат и как применяются.
Модификаторы STATIC, FINAL, ABSTRACT, SYNCHRONIZED, STRICTFP, NATIVE, TRANSIENT, VOLATILE
Их возможные комбинации.
• final – нельзя изменять значение переменной, нельзя переопределять метод родителя, нельзя наследовать класс
• abstract – первая окончательная реализация класса должна переопределять все абстрактные методы. Не должно быть фигурных скобок.
Не сочетается с FINAL, PRIVATE, STATIC, NATIVE, STRICTFP, TRANSIENT
• synchronized – сочетается с любым из четырёх модификаторов доступа
• native – только для методов. Не должно быть фигурных скобок.
• strictfp – только для методов. Приводит работу с числами с плавающей запятой к определённому стандарту (IEEE 754).
• transient – отменяет сериализацию данной переменной
• volatile – применяется для безопасной работы с потоками
• static – можно помечать методы, переменные класса, вложенный класс, блоки инициализации
Также следует помнить, что конструктор не может быть FINAL, STATIC или ABSTRACT
Дополнение по поводу интерфейса:
• Методы всегда PUBLIC и ABSTRACT, даже если это не объявлено.
• Методы НЕ могут быть STATIC, FINAL, STRICTFP, NATIVE, PRIVATE, PROTECTED
• Переменные только PUBLIC STATIC FINAL, даже если это не объявлено.
• Переменные НЕ могут быть STRICTFP, NATIVE, PRIVATE, PROTECTED
• Может только наследовать (extend) другой интерфейс, но не реализовывать интерфейс или класс (implement).
Этой информации достаточно, чтобы ответить на все вопросы, связанной с модификаторами доступа и ключевыми словами.
+8
UFO just landed and posted this here
Ваши дополнения по интерфейсам целиком в статье :-). За остальное спасибо. Ключевым словам действительно много внимания. Понравился где-то на хабре пример с параметром
int String
и вопросом, скомпилируется или нет. В этом же примере демонстрировалось разделение имен идентификаторов для меток и переменных. +1
Вы не указали, что интерфейс может иметь вложенный класс.
public interface IClass {
void doJtest();
class Tester implements IClass {
@Override
public void doJtest() {
System.out.println("Doing test:\n"+this.getClass().getName());
}
};
}
+4
UFO just landed and posted this here
Мне стыдно. Я этого не знал.
Спасибо тебе, добрый человек!
Спасибо тебе, добрый человек!
0
> 5. Файлы, которые не содержат публичных классов, должны иметь имя, которое не совпадает ни с одним из объявленных в нем классов.
Если не секрет, кто знает как такое использовать?
Если не секрет, кто знает как такое использовать?
0
В каком смысле «как использовать»? По желанию ) Например для описания внутренних для пакета классов. Из пакета использовать можно, а снаружи — нет.
+1
Спасибо, просто я как-то привык к публичным классам :)
0
Ключевое слово тут «привык» на самом деле. До того, как стал готовиться к экзамену, не замечал одной любопытной детали. В диалоге создания класса, например, NetBeans нет возможности указать, что вы хотели бы создать непубличный класс. От вас требуется только указать имя класса, а среда уже за вас сгенерирует имя файла и модификатор подставит.
0
>5. Файлы, которые не содержат публичных классов, должны иметь имя, которое не совпадает ни с одним из объявленных в нем классов.
А что в данном случае значит «должны»?
Компилятор не жалуется.
А что в данном случае значит «должны»?
Компилятор не жалуется.
0
Sign up to leave a comment.
Подготовка к экзамену Oracle Certified Professional Java Programmer