#16 Ключевые слова static и final | Java для начинающих

  Рет қаралды 7,600

selfedu

selfedu

3 жыл бұрын

Как создаются статические поля и методы классов. Что это такое и как они работают. Ключевое слово final для объявления констант внутри классов. Статический импорт.
Инфо-сайт: proproprogs.ru

Пікірлер: 32
@user-dh9ez8qk2j
@user-dh9ez8qk2j Жыл бұрын
огромное спасибо за эти лекции, прошёл синтаксис Явараш и многое там не усвоилось и не понялось, а тут бесплатно)) и всё рассказано понятным языком и наглядно. Очень повезло Вашим студентам с таким преподом)!
@user-vu7hz8hg1u
@user-vu7hz8hg1u 3 жыл бұрын
По 5-10 раз пересматриваю твое видео. Ничего не понимаю, но интересно! Да, не я прикалываюсь. А на счет пересмотра это серьезно. Нужно глубокое понимание ООП тем она интересна
@user-yp1rp6qs5v
@user-yp1rp6qs5v 2 жыл бұрын
очень хорошо излагаете, единственное , что хотелось бы слышать примеры из жизни
@user-vj5fv6rv5u
@user-vj5fv6rv5u 7 ай бұрын
Спасибо большое, объяснение супер
@user-bw5jo9bj4k
@user-bw5jo9bj4k 2 жыл бұрын
Круто! Спасибо большое!)
@Mrmusicpls
@Mrmusicpls Жыл бұрын
Спасибо, хорошо объясняете
@user-ec2ee8so8u
@user-ec2ee8so8u 3 жыл бұрын
Чему будет равно поле a, если создать 3 экземпляра класса(ответы в комментарии и не забывайте лайк автору); class Point { static int a; static { a = 11; ++a; } Point() { a++; } } а теперь чему будет равно a и b, в каждом экземпляре класса(объекте) - //Просмотрел до сюда, лайк автору поставил. public class Test { public static void main(String[] args) { Point object1 = new Point(); Point object2 = new Point(); Point object3 = new Point(); System.out.println(Point.getA()); System.out.println(object2.b); } } class Point { static int a; int b; static { a = 11; ++a; } Point() { a++; this.b = a; } public static int getA(){ return ++a; } }
@user-vu7hz8hg1u
@user-vu7hz8hg1u 3 жыл бұрын
Хороший ты "Чел"
@rostislavmalyshev1775
@rostislavmalyshev1775 3 жыл бұрын
Респект!
@ttrrtr304
@ttrrtr304 Жыл бұрын
Третий номер (Возможно реализовываться должно не так, но по крайней мере это работает) public class Main { public static void main(String[] args) { for (byte i = 0; i < 3; i++) { Singleton.Singleton(); } } } class Singleton { static Singleton singleton1; private Singleton() {}; static void Singleton () { if (singleton1 == null) { singleton1 = new Singleton(); System.out.println("Ссылка на экземпляр только что созданного класа: " + singleton1); } else { System.out.println("Экземпляр уже был создан, ссылка на него: " + singleton1); } } }
@anjelomanoranjan
@anjelomanoranjan 11 ай бұрын
Почему "финал"? "Файнал" же произноситься))
@Yornero
@Yornero 3 жыл бұрын
Спасибо за ваши уроки. Начинаю изучать Java и эта информация очень помогает. Не понял только, как в третьем задании запретить использовать оператор New. Я написал private перед конструктором класса Singleton, и нельзя создать в других классах его экземпляр через New, но в методе Main самого класса Singleton это не запрещает создавать новые экземпляры
@selfedu_rus
@selfedu_rus 3 жыл бұрын
Спасибо. Вы все верно сделали, только класс Singleton - это дополнительный класс и не должен содержать метода Main.
@Yornero
@Yornero 3 жыл бұрын
@@selfedu_rus благодарю за ответ)
@alimirzahan4488
@alimirzahan4488 3 жыл бұрын
Спасибо за уроки, реально интересно и доступно объясняешь. Но у меня вопрос: public class Main { public static void main(String[] args) { Rect r1 = new Rect(1,1,1,1); System.out.println(Rect.height(r1)); } } правильно ли я понял 2ое задание
@selfedu_rus
@selfedu_rus 3 жыл бұрын
Спасибо, да все верно!
@user-iq5wx7qq4v
@user-iq5wx7qq4v 3 жыл бұрын
Вопрос: как работает final у ссылочных типов данных?
@selfedu_rus
@selfedu_rus 3 жыл бұрын
не позволяет менять значение ссылки
@user-iq5wx7qq4v
@user-iq5wx7qq4v 3 жыл бұрын
@@selfedu_rus благодарю 🙏
@user-ec2ee8so8u
@user-ec2ee8so8u 3 жыл бұрын
Вопрос в автору: - Я верно понимаю первое задание? class ShopItem { static int numberOfObject; int id; ShopItem() { ++numberOfObject; this.id = numberOfObject; } }
@evgenyivanov744
@evgenyivanov744 3 жыл бұрын
начало было неплохое, пока вы не дошли до 9й минуты и не сказали " статический класс OUT в пакете System" OUT это статическая переменная. System - класс. статического класса здесь вообще нет
@selfedu_rus
@selfedu_rus 3 жыл бұрын
да, это оговорка, все верно!
@FEODORN
@FEODORN Жыл бұрын
А почему программа работает без ошибки, хотя не инициализирована переменная (cnt)? 🤔Кто знает? И огромное спасибо автору за курс 🤗
@selfedu_rus
@selfedu_rus Жыл бұрын
Java так устроена, что новые переменные (целочисленные) инициализируются по умолчанию 0. Но лучше это явно прописывать и далее я так и делаю.
@FEODORN
@FEODORN Жыл бұрын
Спасибо!
@n.o.2877
@n.o.2877 7 ай бұрын
откуда после -1 и шага ++ получилось 2 - загадка))) обьяснение такое себе..
@mystudy5238
@mystudy5238 Жыл бұрын
фІнал... ну це ж для новачків, вони ж потім усе життя будут з цим "фіналом" бігатимуть, це звучить як "файнал"
@user-gc4nx8tm2u
@user-gc4nx8tm2u Жыл бұрын
Первая задача не так проста как кажется)) но догадался. мейн: ShopItem one = new ShopItem(2, 550,"Carrot"); ShopItem two = new ShopItem(1,600,"Carrige"); ShopItem three = new ShopItem(5, 900, "Watermelon"); one.show(); в консоле: Your product Name:Carrot Weight:2 Price:550 Total price: 1100 Uniq ID is: 1 Total items: 3 и класс: public class ShopItem { int weight, price, IDItem; String nameProduct; static int ID; static { ID = 0; } { weight = 0; price = 0; nameProduct = "Item"; } public ShopItem(int weight, int price, String nameProduct) { this.weight = weight; this.price = price; this.nameProduct = nameProduct; ID++;IDItem = ID; } void show(){ System.out.println("Your product Name:"+nameProduct+" Weight:"+weight+" Price:"+price); System.out.println("Total price: "+(price*weight)); System.out.println("Uniq ID is: " + IDItem+" Total items: " +ID); } }
@user-gc4nx8tm2u
@user-gc4nx8tm2u Жыл бұрын
по второй задаче все просто: мейн: Rect one = new Rect(1,1,5,5); Rect.show(one); класс: public class Rect { int x1,y1,x2,y2; public Rect(int x1, int y1, int x2, int y2) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; } static void show(Rect r){ int width = r.x2 - r.x1; int hight = r.y2 - r.y1; System.out.println("Width: " + width + " Hight: " + hight); } }
@user-gc4nx8tm2u
@user-gc4nx8tm2u Жыл бұрын
по третьей есть сомнения... мейн: Singleton.getInstance(); Класс: public class Singleton { static void getInstance(){ Singleton one = new Singleton(); System.out.println("Был создан экземпляр: one"); } private Singleton(){} }
Женская драка в Кызылорде
00:53
AIRAN
Рет қаралды 468 М.
One moment can change your life ✨🔄
00:32
A4
Рет қаралды 35 МЛН
НРАВИТСЯ ЭТОТ ФОРМАТ??
00:37
МЯТНАЯ ФАНТА
Рет қаралды 6 МЛН