Меню
StopGame  Блоги Блог MOROZILnic Туториал по java (pro) №2

Самое актуальное

  • «Инфакт» от 26.08.2019 — Фильм «Метро 2033», Mirror’s Edge Katana ZERO, Keep Talking and Nobody Explodes про демонов…
  • Обзор игры RAD
  • Жалкие создания спасают безупречную машину — история разработки System Shock 2
  • Обзор игры The Forbidden Arts
  • 10 лет на гребне / Нарезка за неделю от StopGame.ru
  • Блоги. Обзор Enderal — Почти как Skyrim, но лучше
  • Блоги. Игра против реальности. SAS из Rainbow Six: Siege
  • Итоги gamescom 2019 — золотой дождь из анонсов
  • Рефанд?! — Oxygen Not Included, The Church in the Darkness, Streets of Rogue, Dicey Dungeons…
  • Обзор игры Exception
  • Обзор игры A Short Hike
  • GAMESCOM 2019. Церемония (пре)открытия
  • gamescom 2019
  • Лучшие моды для GTA V
  • Обзор игры Subdivision Infinity DX
  • Превью по пресс-версии к игре Control
  • Обзор игры Gibbous: A Cthulhu Adventure
  • «Железная корона» в Apex Legends — глупость и жадность
  • Крепкая мужская дружба / Нарезка за неделю от StopGame.ru
  • ALIENS vs. PREDATOR. Свои против хищника
  • The Blackout Club. Страннейшие делищи
  • EGS — за и против, Ninja и Mixer, блиц главреда, а также почему все стали ненавидеть Heavy Rain?
  • Блоги. Обзор Fatal Frame 2: Crimson Butterfly
  • Блоги. Старшая Речь — что это за язык такой?
  • Обзор игры Age of Wonders: Planetfall
  • Обзор игры The Great Perhaps
  • Обзор игры Dry Drowning
  • «Что? Где? Когда?» при поддержке LG UltraGear. Тематический выпуск об играх из СНГ
  • Обзор игры Forged of Blood
  • Обзор игры The Church in the Darkness

Туториал по java (pro) №2

+8
<< >>

Модификаторы видимости

private: доступ только внутри класса;
модификатор по-умолчанию: доступ внутри пакета
protected: доступ внутри пакета и в наследниках
public: доступ всем

Советую все переменные и классы (кроме нужных) в доп. классах делать private, а то всякие двусмыслености могут возникнуть: private String what;

static

Организуем список людей. Каждый объект будет представлять собой человека с возможностью получить его имя, фамилию и кол-во людей в списке:
public class Tutorial {
        public static void main(String[] args) {
                Tuto p1 = new Tuto(«Иван», «Иванов»);
                Tuto p2 = new Tuto(«Петр», «Петров»);
                System.out.println();
                System.out.println(p1.getLast()+" "+p1.getFirst()+". Количество — "+p1.getcol());
                System.out.println(p2.getLast()+" "+p2.getFirst()+". Количество — "+p2.getcol());
                System.out.println();
        }

}

public class Tuto {
       
        private String first;
        private String last;
        private static int col = ;
       
        public Tuto(String f, String l){
                first = f;
                last = l;
                col++;
        }
       
        public String getFirst(){
                return first;
        }
       
        public String getLast(){
                return last;
        }
       
        public int getcol(){
                return col;
        }
       
}
Так как переменная col — статична, она является общей для всех объектов класса.

<©Linreal>
Как уже было сказано, переменные могут иметь 2 типа: ссылочный и по значению. Все переменные пользовательских классов — ссылочные, т.е обращаются к объекту класса.

Посмотрите на класс Tuto, написанный выше, методы которого (getcol,getLast...) модификатора static не имеют. Теперь возвращаемся к Main. В этом методе сперва создаются объекты класса Tuto(p1 и p2), и обращение к методам этого класса происходит через них (p1.getLast(), например)

Но! Main ведь тоже является методом класса(Tutorial). А поскольку он является входной точкой любой программы, то вызывается ДО создания объекта его класса. Собственно, в этом и состоит основная роль модификатора static — он позволяет вызывать метод до создания объекта его класса.

</©Linreal>

final

Делает из переменной константу. У класса — запрещает наследование, у метода — переопределение.

abstract

Антоним к final. Экземпляр подобного класса не может быть создан, но класс может быть суперклассом.

Вроде все, закончили с этим. Дальше будут полезные встроенные функции java.
Комментарии (16 шт.)
Кинете идей? Может gui?

Ой, точно! Перегруженные методы забыл… Ну ладно, потом…
События и анонимные методы, которые за них отвечают =) GUI ведь без них особо не рассмотришь, вроде бы. (хотя тут основываюсь только на опыте c#, могу ошибаться)
Если честно — не очень разбираюсь в прелестях абстрактных классов, приглашаю кого-нибудь просветить меня)))
вообще-то по-умолчанию модификатор доступа public
вообще-то private.
Стрелочки вверху забыл…
И да, если можешь, дай попрактиковаться чего-нибудь… Ато я вообще слабо в ООП (:
Позволю себе немного расширить информацию о static, в контексте моего же комментария о ссылочных переменных в туториале №1, а именно, рассказать о его применении к методам.

Как уже было сказано, переменные могут иметь 2 типа-1)ссылочный, 2) по значению. Все переменные пользовательских классов-ссылочные, т.е обращаются к объекту класса.

Посмотрите на класс Tuto, написаный выше, методы которого (getcol,getLast...) модификатора static не имеют. Теперь возвращаемся к Main. В этом методе сперва создаются объекты класса Tuto(p1 и p2), и обращение к методам этого класса происходит через них (p1.getLast(), например)

Но! Main ведь тоже является методом класса(Tutorial). А поскольку он является входной точкой любой программы, то вызывается ДО создания объекта его класса. Собственно, в этом и состоит основная роль модификатора static — он позволяет вызывать метод до создания объекта его класса. Воть.
з.ы сорри, что влезаю в твоих уроках. если что, отпишись, перестану.
Позновательно, продолжай в том же духе, если он не будет против…
*познавательно
okay =)
offtop: только сейчас, глянув профиль, осознал, что ты-девушка, изучающая ассемблер. о_О это просто нереально круто, не часто вы встречаетесь =)
фенкс, я вставлю это в текст, ок?(+копирайты)
Лично я не проходил нигде комплексного обучения, так что если что-то знаю, то знаю исключительно со стороны практического использования, а не реализации(((
да, конечно
и вот, я тут полазил по вики.… пример, показывающий долбаный идиотизм свичей со стрингами. (абстрактная java с goto)
switch(s.hashCode()) { // cause NPE if s is null
case 3482567: // "quux".hashCode()
    if (!s.equals("quux"))
        goto $default_label;
    goto $fooOrBarCode_label;
   
case 101574: // "foo".hashCode()
    if (!s.equals("foo"))
        goto $default_label;
    goto $fooOrBarCode_label;

case 97299// "bar".hashCode()
    if (!s.equals("bar"))
        goto $default_label;

    $fooOrBarCode_label:
    processFooOrBar(s);
    break;

case 97307: // "baz".hashCode()
    if (!s.equals("baz"))
        goto $default_label;
    processBaz(s);

default:
$default_label:
    processDefault(s);
    break;
}
Из предложения нормальных свичей тут. февраль 2009.
Из предложения нормальных свичей тут.

Ну да, это и есть ожидаемый всеми project coin. обещают теперь к след. версии добавить.

На самом деле, нашёл решение-использовать enum. С перечислениями свич работает на отлично.
Для комментирования необходима регистрация.
Прямой эфир «Блоги»
[Обзор Enderal] Почти как Skyrim, но лучше
Персональный блог Блог slymmen
Курилка Помидорная
Блог курилок и длинных разговоров
«Призрак в доспехах» 2017г. Киноразбор
Персональный блог ловегрудба
Давайте придумывать SCP — объекты!
Персональный блог Безумного Лиса
«А в какие игры вы любите играть снова и снова?»
Персональный блог Безумного Лиса
«Готовим кушац на Стоп.Гейм.Ру!»
Персональный блог Безумного Лиса
Fez в каком жанре?
Блог VitaliyZez
Наверх ↑