Комментарии (12)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Нямка22 уровень, Зажопинск
14 июня, 17:27
имеются в виду параметры которые подаются в main при запуске программы. Чтобы их установить в IDEA, тыкаем: Run - Edit Configurations и вписываем аргументы через пробел в поле Program arguments. Для этой задачи у нас один аргумент - имя файла, т.е. пишем в это поле например: 123.txt Далее в программе, используем этот аргумент, у нас он первый, поэтому будет args[0]. FileInputStream fileReader = new FileInputStream(args[0]);
Нямка22 уровень, Зажопинск
13 июня, 16:41
interface Невозможно создать объект интерфейса, потому что это не класс. У интерфейса нет конструкторов. Access modifier у всех топ-левел интерфейсов или public, или default. Если не указать самостоятельно, то компилятор добавит в определение интерфейса слово abstract. Интерфейс не может быть final. Если не указать самостоятельно, то компилятор добавит в определение всех non-default (не access modifier) и non-static методов слова abstract и public. Из переменных в интерфейсе могут быть только константы, которые должны быть в нём инициализированны. Если не указать самостоятельно, то компилятор добавит в определение всех переменных слова public, final и static. Если класс, который имплементировал интерфейс не перезаписал все его методы, то этот класс должен объявляться abstract. Методы интерфейса не могут быть final.
Нямка22 уровень, Зажопинск
13 июня, 16:40
abstract классы и abstract методы abstract class Figura{ public void abc() { some code } abstract int ploshad(); } У abstract методов не бывает тела. abstract класс может содержать, а может и не содержать abstract методы. Если в классе есть abstract метод, то этот класс тоже должен быть abstract. Невозможно создать объект abstract класса. Дочерний класс должен перезаписать все abstract методы родительского класса или тоже быть abstract. Можно использовать reference variable типа abstract класса чтобы ссылаться на объект дочернего класса, который не является abstract . abstract класс не может быть final. Переменные не могут быть abstract. У abstract классов есть конструктор. Любой перезаписанный метод может быть как abstract, так и не abstract. Для методов недопустимо сочетание: final abstract, private abstract, static abstract Интерфейс – это конструкция языка программирования, которую часто сравнивают с контрактом. В этом контракте указанно, что класс сможет делать, т.е. какие методы в нём будут присутствовать, если он имплементирует данный интерфейс. Когда класс имплементирует какой либо интерфейс, он обязуется снабдить методы этого интерфейса телами (перезаписать абстрактные методы); в противном случае класс должен стать абстрактным. Т.о. если известно, что класс имплементировал какой либо интерфейс, то в этом классе гарантированно будут методы из интерфейса.
Нямка22 уровень, Зажопинск
13 июня, 16:36
Обращение к элементам super класса с помощью keyword “super” С помощью keyword “super” можно обращаться как к методам, так и к переменным родительского класса. Keyword “super” означает обращение к объекту родительского класса. Невозможно использование keyword “super” в static методах и переменных. Для того чтобы обратиться к элементам родительского класса с помощью keyword “super”, эти элементы должны быть видны в дочернем классе. При обращение к методу родительского класса, выражение “super” не обязательно должно быть первой строкой тела метода.
Нямка22 уровень, Зажопинск
13 июня, 16:25
Интерфейс описывает только поведение, у него нет состояния. У абстрактного класса состояние есть: он описывает и то, и другое. Абстрактный класс связывает между собой и объединяет классы, имеющие очень близкую связь. В то же время, один и тот же интерфейс могут реализовать классы, у которых вообще нет ничего общего.
Нямка22 уровень, Зажопинск
12 июня, 15:19
* ноль или более символов, которые перед звездочкой . любой знак .* ноль или более любых символов \s пробел \s* ноль или более пробелов [fcl] один символ, который f или с или l [^cl] один символ, не с и не l [c-f] один символ в диапазон от с до f [a-cl] один символ в диапазоне от a до с, а также l [a-cA-Cp] один символ в диапазоне от a до с, A до С, а также p \. игнорировать специальное значение точки \d Цифра. Эквивалентно [0-9] \D Не цифра (любой символ кроме символов 0-9). Эквивалентно [^\d] \s Пустой символ (пробел, табуляция, возврат каретки, перевод строки). Эквивалентно [\n ] ^ Начало текста или отрицание множества $ Конец текста a+ один или более а a? ноль или один а (ha) последовательность (log|ply)wood logwood или plywood {} квантификатор (ha){3} hahaha (ha){2,4} ha от 2 до 4 раз (ha){,4} не более 4 раз ha [\\p{Punct}] все знаки пунктуации
Нямка22 уровень, Зажопинск
11 июня, 14:04
InputStreamReader inputStreamReader = new InputStreamReader(System.in); // поток чтения с консоли BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String data = bufferedReader.readLine(); //читаем строку с клавиатуры // C:\Users\User\tmp\data.txt // C:\Users\User\tmp\result.txt
Нямка22 уровень, Зажопинск
8 июня, 21:13
Employee employee = new Doctor; У employee вызываются переменные и методы Employee, переменные и методы Doctor не видно. Если Doctor оверрайдит методы Employee, вызываются оверридден методы. Что будет вызываться определяется ранним или поздник байндингом. Early binding определяет что переопределяемый метод не final, statoc, private
Нямка22 уровень, Зажопинск
8 июня, 08:39
Если мы хотим «обернуть» вызовы методов какого-то объекта своим кодом, то нам нужно: 1) Создать свой класс-обертку и унаследоваться от того же класса/интерфейса что и оборачиваемый объект. 2) Передать оборачиваемый объект в конструктор нашего класса. 3) Переопределить все методы в нашем новом классе, и вызвать в них методы оборачиваемого объекта. 4) Внести свои изменения «по вкусу»: менять результаты вызовов, параметры или делать что-то еще.
Нямка22 уровень, Зажопинск
4 мая, 19:43
Любой класс в Java содержит неявно заданное статическое поле class типа Class, которое представляет свой класс (содержит всю необходимую о нем информацию). Поскольку мы используем блок синхронизации внутри статического метода getFund(), то в качестве объекта, передаваемого блоку синхронизации, необходимо использовать экземпляр такой статической переменной нашего класса IMF, к которому можно обратиться также, как и к любой статической переменной, используя для доступа ИмяКласса.ИмяПеременной (в нашем случае IMF.class).