Комментарии (3)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Daichin
Уровень 6
9 января 2019, 01:44
4лвл 6 лекция Владислав, да, только во втором примере ты не переопределил метод, а перегрузил, так как поменял тип аргумента (должен быть тип Object) вот нашел информацию по этому поводу +++++++++++++++++++++ Распространенные ошибки при переопределении equals в Java Вместо того, чтобы переопределять метод equals (Override) программист перегружает его (Overload)Синтаксис метода equals() в классе Object определен как public boolean equals(Object obj), но многие программисты ненароком перегружают метод: public boolean equals(Person obj) - вместо Object в качестве аргумента используют имя своего класса (напр. Person). Эту ошибку сложно обнаружить из-за static binding. Таким образом, если вы вызовите этот метод для объекта своего класса, то метод не просто скомпелируется, а даже сделает это корректно. Однако, если вы положите ваш объект в коллекцию, например ArrayList и вызовите метод contains(), работа которого основана на методе equals(), то метод contains не сможет обнаружить ваш объект. ++++++++++++++++++++++
Daichin
Уровень 6
9 января 2019, 00:06
FileInputStream fileInput = new FileInputStream (fileName);
BufferedReader fileReader = new BufferedReader (new InputStreamReader(fileInput));
Те что на прямых линиях это классы-адаптеры (pattern adapter) - используются для так сказать соединения разных типов данных (пишут char в byte и т. п.) Те что на кольцах это классы-декораторы (pattern decorator) - берут наш объект и добавляют ему какое то свойство, возвращая по сути тот же объект, того же типа (буферезируют, пакуют данные, выводят что то в Log-file во время работы и т. д. )
Daichin
Уровень 6
4 января 2019, 23:12
Вся лекция в двух словах, ребят: 1. Если переменная помечена словом "static", то она общая для всех объектов, что будут созданы.(Что-то вроде общей ячейки в банке, из которой все могут брать что-то, и все могут туда ложить что-то). 2. THIS используйте, когда имена вашей переменной в классе и переменной в методе совпадают. Не заморачивайтесь, просто помните - вызов переменной в методе - ее имя. Вызов переменной в классе - this. + ее имя. Ничего сложного, пацаны :D. 3. Если видишь что в метод объявлен СТАТИЧЕСКИМ, то про this ЗАБУДЬТЕ сразу!!1 Когда переменная или класс статитический, то он вызывается ClassName.methodName(). (Типа у вас есть класс Cat, а внутри - метод catCount(). Так вот чтоб его вызвать, юзайте Cat.catCount() . ) 4. Короче: Нестатический метод - забей и юзай This. Если статический, то вместо this пишешь название его класса. Все. Пока что это все, что вам нужно знать. Если есть вопросы - пишите в ЛС. Удачи, пацаны!