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

preview_player
Показать описание
Как создаются статические поля и методы классов. Что это такое и как они работают. Ключевое слово final для объявления констант внутри классов. Статический импорт.

Рекомендации по теме
Комментарии
Автор

огромное спасибо за эти лекции, прошёл синтаксис Явараш и многое там не усвоилось и не понялось, а тут бесплатно)) и всё рассказано понятным языком и наглядно. Очень повезло Вашим студентам с таким преподом)!

dhezqkj
Автор

По 5-10 раз пересматриваю твое видео. Ничего не понимаю, но интересно! Да, не я прикалываюсь. А на счет пересмотра это серьезно. Нужно глубокое понимание ООП тем она интересна

vuhzhgu
Автор

очень хорошо излагаете, единственное, что хотелось бы слышать примеры из жизни

yprpqsv
Автор

Чему будет равно поле 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();



}
}

class Point {
static int a;
int b;
static {
a = 11;
++a;
}
Point() {
a++;
this.b = a;
}
public static int getA(){
return ++a;
}
}

eceesou
Автор

Третий номер (Возможно реализовываться должно не так, но по крайней мере это работает)

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);
}
}
}

ttrrtr
Автор

Почему "финал"? "Файнал" же произноситься))

anjelomanoranjan
Автор

Спасибо за ваши уроки. Начинаю изучать Java и эта информация очень помогает. Не понял только, как в третьем задании запретить использовать оператор New. Я написал private перед конструктором класса Singleton, и нельзя создать в других классах его экземпляр через New, но в методе Main самого класса Singleton это не запрещает создавать новые экземпляры

Yornero
Автор

Спасибо за уроки, реально интересно и доступно объясняешь. Но у меня вопрос:

public class Main {
public static void main(String[] args) {
Rect r1 = new Rect(1, 1, 1, 1);

}
}
правильно ли я понял 2ое задание

alimirzahan
Автор

Вопрос: как работает final у ссылочных типов данных?

iqwxqqv
Автор

А почему программа работает без ошибки, хотя не инициализирована переменная (cnt)? 🤔Кто знает? И огромное спасибо автору за курс 🤗

FEODORN
Автор

откуда после -1 и шага ++ получилось 2 - загадка))) обьяснение такое себе..

n.o.
Автор

начало было неплохое, пока вы не дошли до 9й минуты и не сказали " статический класс OUT в пакете System"
OUT это статическая переменная. System - класс. статического класса здесь вообще нет

evgenyivanov
Автор

Вопрос в автору:
- Я верно понимаю первое задание?
class ShopItem {
static int numberOfObject;
int id;
ShopItem() {
++numberOfObject;
this.id = numberOfObject;

}
}

eceesou
Автор

фІнал... ну це ж для новачків, вони ж потім усе життя будут з цим "фіналом" бігатимуть, це звучить як "файнал"

mystudy
Автор

Первая задача не так проста как кажется)) но догадался.

мейн:
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
System.out.println("Total price: "+(price*weight));
System.out.println("Uniq ID is: " + IDItem+"\nTotal items: " +ID);
}

}

gcnxtmu