Выпуск 33. Передача параметров в метод.

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • Для начинающего программиста вопрос "Как передаются параметры в метод ?" нередко вызывает сложности. Для чёткого понимания, что и как, и предназначен это ролик.

Комментарии • 31

  • @khoromi
    @khoromi Год назад

    перевернул весь интернет, везде информация какая то неполная, только благодаря вашему видео понял до конца как работает передачу параметров.
    спасибо.

  • @TigercactusWhite
    @TigercactusWhite Год назад

    Cпасибо большое за наглядное видео! Дошло только благодаря вам))

  • @АлександрСанин-л5п

    Это лучшее обьяснение!

  • @anjelomanoranjan
    @anjelomanoranjan Год назад

    Спасибо) жду новых видео по Java

  • @HUNTER-od2ni
    @HUNTER-od2ni Год назад

    Спасибо! Все встало на свои места)

  • @EnglishinDetails
    @EnglishinDetails Год назад

    Огромное спасибо, супер понятно теперь!

  • @Bah1918
    @Bah1918 4 года назад +5

    Добрый вечер.Благодарю за урок.БОЛЬШОЕ СПАСИБО.

  • @justFast1k
    @justFast1k 4 года назад +2

    Классно, когда есть такие понятные объяснения! Спасибо за Ваш труд

  • @deadcatdance2510
    @deadcatdance2510 2 года назад +1

    Спасибо, очень наглядно и понятно!

  • @antonhen23
    @antonhen23 3 года назад +2

    Хорошее видео! Разнообразные примеры, это профессионально)

  • @roketa7776
    @roketa7776 2 года назад +1

    Шикарное видео!!! Большое спасибо.

  • @gospodinkto1224
    @gospodinkto1224 Год назад

    спасибо

  • @Px-eb2dy
    @Px-eb2dy Год назад

    Я почти уверен что тема проще самого объяснения. К сожалению на данный момент толкового исчерпывающего объяснения не встретил. Тащу мысли по чуть чуть из разных источников

  • @tekartgroup1677
    @tekartgroup1677 Год назад

    Очень круто когда объяснение кода сопровождается визуальной абстракцией

  • @AnnaSmirnova1
    @AnnaSmirnova1 4 года назад +1

    Спасибо. Очень исчерпывающее видео

  • @alexmarkov9943
    @alexmarkov9943 2 года назад +1

    50% зашло, остальное будем разбираться...

  • @user-rn5ty2je3s
    @user-rn5ty2je3s 3 года назад +1

    Когда познакомился как работает стэк и хип, вообще порядок работы jvm с кодом, многое прояснилось. Есть стэк, куда попадает входная точка метод Мэйн, и уже следом параметры метода, а значения этих параметров записываются в стэк, вот только примитивы записываются непосредственно в стэк и поэтому они копируются полностью и независимы от предыдущих переменных, а объект это тяжёлая структура которая находится в хипе и в стэк записывается только ссылка на область в хипе где лежит этот объект. Поэтому если мы в методе поменяем значение отданного в параметре этого метода, мы лишь перезапишем ссылку на реальный объект внутри метода

  • @ОлегБлокитин-ъ1я
    @ОлегБлокитин-ъ1я 3 года назад

    отличная подача, спасибо!

  • @sergka3626
    @sergka3626 3 дня назад

    Подушню, передаются аргументы, а не параметры. Это разные понятия.

  • @maxmaroff260
    @maxmaroff260 4 года назад

    Большое спасибо.

  • @MArseniyM
    @MArseniyM 4 года назад

    Скажите, пожалуйста, почему Вы во многих своих примерах используете классы-обёртки вместо простейших типов данных?

    • @java8599
      @java8599  2 года назад

      Потому что обертка может иметь значение NULL. Это бывает очень удобно - NULL очень специфическое значение. Например для модификации записи в базе данных - если первичный ключ NULL, то запись новая и надо ее добавить. Если не NULL - изменить существующую.

  • @alexrr7087
    @alexrr7087 3 года назад

    public class Main {
    public static void main(String[ ] args) {
    int [ ] arr = {1,2,3};
    System.out.println(Arrays.toString(arr));
    func(arr);
    System.out.println(Arrays.toString(arr));

    }
    public static void func (int[ ]arr){
    System.out.println(Arrays.toString(arr));
    arr[0] = 9;
    System.out.println(Arrays.toString(arr));
    }
    }

    • @alexrr7087
      @alexrr7087 3 года назад

      [1, 2, 3]
      [1, 2, 3]
      [9, 2, 3]
      [9, 2, 3]

    • @alexrr7087
      @alexrr7087 3 года назад

      Так я ничего и не понял.....

  • @AS-nu7ez
    @AS-nu7ez 4 года назад

    Спасибо большое. А в чем будет отличие если например мы скажем что у нас значения копироваться будут не по значению а по ссылке?Заранее спасибо если ответите

    • @java8599
      @java8599  4 года назад +1

      В Java вообще нет передачи по ссылке. Иначе не настраивается. Совсем. Все параметры копируются в друзе переменные такого же типа.
      Такое есть в C/C++ - там надо указывать, по значению или по ссылке. Если не боитесь запутаться - по сути в C/C++ передача по ссылке похожа на копирование ссылки в Java. Но если эта фраза Вас путает - забудьте :)

    • @AS-nu7ez
      @AS-nu7ez 4 года назад

      @@java8599 ​ просто как вы сказали и везде пишут что в Java все передается по значению с этим я разобрался. А вот что значит передача по ссылке так и не понял до конца, и пока к сожалению этот вопрос для меня загадка

    • @java8599
      @java8599  4 года назад +3

      @@AS-nu7ez Передача по ссылке появилась в связи с тем, что в языках типа С структура создавалась не только динамически, но и статически (грубовато, но по сути точно). Т.е. объявляя переменную сложной структуры, вы СРАЗУ получали готовую структуру. Ее не надо было создавать через вызов NEW, как в Java. И поэтому появилось два варианта передачи данных в метод:
      1) Копирование ВСЕЙ структуры (есть у вас 5 полей - все и копируются). Это и есть передача КОПИРОВАНИЕМ. По сути создается копия передаваемых данных, которая не связана с оригиналом совсем.
      2) По ссылке. По сути копировалась именно ссылка, как указатель (в терминах С) на нужную структуру/объект.
      В Java ВСЕ объекты (не элементарных типов) создаются в динамической памяти и на них ВСЕГДА указывает именно ссылка. У вас нет вообще переменной типа Date или StringBuilder. Есть ТОЛЬКО ссылка на созданный объект. И значит при передачи ССЫЛКИ вы ее КОПИРУЕТЕ.
      Как и в С в случае передачи по ссылке. Вот такой вот парадоксальных вариант. Как бы всегда копируем, но в случае со ссылкой Java подобна С, который называет это передачу "передача по ссылке".

    • @AS-nu7ez
      @AS-nu7ez 4 года назад

      @@java8599 Понял, спасибо большое за ответ

  • @SergiVRN
    @SergiVRN 3 года назад +4

    Простите не зашло!!! 50 % предложений заканчиваются словами...погодите сейчас я тут..... слушатель теряет нить рассуждения