Forwarded from English Beginners
June 5, 2024
This media is not supported in your browser
VIEW IN TELEGRAM
Ребят, прошу написать в комментариях или чате Ваши предложения по развитию канала...
Чего бы Вам хотелось увидеть на канале, что по Вашему мнению лишнее.
Давайте сделаем наш канал лучше вместе))
Чего бы Вам хотелось увидеть на канале, что по Вашему мнению лишнее.
Давайте сделаем наш канал лучше вместе))
June 5, 2024
Классы и объекты
Класс — это шаблон для создания объектов. В классе определяются свойства (поля) и поведение (методы) объектов.
Класс объявляется с помощью ключевого слова class:
Здесь Person — это класс, который имеет два поля (name и age) и один метод (greet).
Создание объекта
Объект создается с помощью ключевого слова new:
Это создаст новый объект person1 класса Person.
Инициализация полей объекта
Поля объекта можно инициализировать после его создания:
Вызов методов объекта
Методы объекта вызываются через точку:
Конструкторы
Конструкторы — это специальные методы, которые вызываются при создании объекта для его инициализации. Если в классе не объявлен конструктор, Java автоматически создает конструктор по умолчанию.
Объявление конструктора
Конструкторы имеют то же имя, что и класс, и не возвращают значение (даже void):
Создание объекта с использованием конструктора:
Перегрузка конструкторов
Конструкторы можно перегружать, создавая несколько версий с разными параметрами:
Использование перегруженных конструкторов:
Методы в классе
Методы в классе определяют поведение объектов и могут манипулировать их состоянием (полями).
Объявление метода
Метод объявляется с указанием возвращаемого типа, имени и параметров (если есть):
Вызов методов объекта
Методы вызываются через точку, указывая объект, имя метода и параметры (если есть):
Примеры классов и объектов
Класс Car:
#Java #Training #Class #Method #ООП
Класс — это шаблон для создания объектов. В классе определяются свойства (поля) и поведение (методы) объектов.
Класс объявляется с помощью ключевого слова class:
public class Person {
String name;
int age;
void greet() {
System.out.println("Hello, my name is " + name);
}
}
Здесь Person — это класс, который имеет два поля (name и age) и один метод (greet).
Создание объекта
Объект создается с помощью ключевого слова new:
Person person1 = new Person();
Это создаст новый объект person1 класса Person.
Инициализация полей объекта
Поля объекта можно инициализировать после его создания:
person1.name = "John";
person1.age = 30;
Вызов методов объекта
Методы объекта вызываются через точку:
person1.greet(); // Выведет "Hello, my name is John"
Конструкторы
Конструкторы — это специальные методы, которые вызываются при создании объекта для его инициализации. Если в классе не объявлен конструктор, Java автоматически создает конструктор по умолчанию.
Объявление конструктора
Конструкторы имеют то же имя, что и класс, и не возвращают значение (даже void):
public class Person {
String name;
int age;
// Конструктор
public Person(String name, int age) {
this.name = name;
this.age = age;
}
void greet() {
System.out.println("Hello, my name is " + name);
}
}
Создание объекта с использованием конструктора:
public class Main {
public static void main(String[] args) {
Person person1 = new Person("John", 30);
person1.greet(); // Выведет "Hello, my name is John"
}
}
Перегрузка конструкторов
Конструкторы можно перегружать, создавая несколько версий с разными параметрами:
public class Person {
String name;
int age;
// Конструктор по умолчанию
public Person() {
this.name = "Unknown";
this.age = 0;
}
// Конструктор с параметрами
public Person(String name, int age) {
this.name = name;
this.age = age;
}
void greet() {
System.out.println("Hello, my name is " + name);
}
}
Использование перегруженных конструкторов:
public class Main {
public static void main(String[] args) {
Person person1 = new Person();
Person person2 = new Person("Alice", 25);
person1.greet(); // Выведет "Hello, my name is Unknown"
person2.greet(); // Выведет "Hello, my name is Alice"
}
}
Методы в классе
Методы в классе определяют поведение объектов и могут манипулировать их состоянием (полями).
Объявление метода
Метод объявляется с указанием возвращаемого типа, имени и параметров (если есть):
public class Person {
String name;
int age;
void greet() {
System.out.println("Hello, my name is " + name);
}
// Метод с параметрами
void setAge(int newAge) {
age = newAge;
}
// Метод с возвращаемым значением
int getAge() {
return age;
}
}
Вызов методов объекта
Методы вызываются через точку, указывая объект, имя метода и параметры (если есть):
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30);
person.greet(); // Выведет "Hello, my name is John"
person.setAge(35);
System.out.println("Age: " + person.getAge()); // Выведет "Age: 35"
}
}
Примеры классов и объектов
Класс Car:
public class Car {
String model;
int year;
public Car(String model, int year) {
this.model = model;
this.year = year;
}
void displayInfo() {
System.out.println("Model: " + model + ", Year: " + year);
}
}
public class Main {
public static void main(String[] args) {
Car car1 = new Car("Toyota", 2020);
Car car2 = new Car("Honda", 2018);
car1.displayInfo(); // Выведет "Model: Toyota, Year: 2020"
car2.displayInfo(); // Выведет "Model: Honda, Year: 2018"
}
}
#Java #Training #Class #Method #ООП
June 5, 2024
Поля и методы класса. Конструкторы
Поля класса — это переменные, которые определяют состояние объекта. Они объявляются внутри класса, но вне любых методов или конструкторов. Поля могут быть различных типов: примитивными (например, int, double) или ссылочными (например, String, объекты других классов).
Объявление и инициализация полей
Поля класса можно объявить и инициализировать следующим образом:
Инициализация полей также может происходить при их объявлении:
Модификаторы доступа
Поля класса могут иметь разные модификаторы доступа:
public: Поле доступно из любого класса.
private: Поле доступно только внутри самого класса.
protected: Поле доступно внутри пакета и подклассов.
default (без модификатора): Поле доступно только внутри пакета.
Пример:
Константы (final поля)
Константы — это поля, значения которых не могут изменяться после инициализации. Они объявляются с ключевым словом final:
Примеры использования полей
Создадим класс Car с полями make, model и year, а также методами для доступа к этим полям:
#Java #Training #Class
Поля класса — это переменные, которые определяют состояние объекта. Они объявляются внутри класса, но вне любых методов или конструкторов. Поля могут быть различных типов: примитивными (например, int, double) или ссылочными (например, String, объекты других классов).
Объявление и инициализация полей
Поля класса можно объявить и инициализировать следующим образом:
public class Person {
String name; // Поле класса
int age; // Поле класса
// Инициализация полей может быть выполнена в конструкторе
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Инициализация полей также может происходить при их объявлении:
public class Person {
String name = "Unknown";
int age = 0;
}
Модификаторы доступа
Поля класса могут иметь разные модификаторы доступа:
public: Поле доступно из любого класса.
private: Поле доступно только внутри самого класса.
protected: Поле доступно внутри пакета и подклассов.
default (без модификатора): Поле доступно только внутри пакета.
Пример:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Константы (final поля)
Константы — это поля, значения которых не могут изменяться после инициализации. Они объявляются с ключевым словом final:
public class Circle {
public static final double PI = 3.14159;
double radius;
public Circle(double radius) {
this.radius = radius;
}
public double calculateArea() {
return PI * radius * radius;
}
}
Примеры использования полей
Создадим класс Car с полями make, model и year, а также методами для доступа к этим полям:
public class Main {
public static void main(String[] args) {
Car car = new Car("Toyota", "Corolla", 2020);
System.out.println("Make: " + car.getMake());
System.out.println("Model: " + car.getModel());
System.out.println("Year: " + car.getYear());
car.setYear(2021);
System.out.println("Updated Year: " + car.getYear());
}
}
#Java #Training #Class
June 6, 2024
June 6, 2024
Forwarded from English Beginners
June 6, 2024
Какое значение будет напечатано в консоль при выполнении данного кода?
#Tasks
class Animal {
void sound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Bark");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Meow");
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
Animal animal3 = new Animal();
animal1.sound();
animal2.sound();
animal3.sound();
}
}
#Tasks
June 6, 2024
Какой ответ из нижепредложенных на ваш взгляд правильный?
Anonymous Quiz
8%
"Some sound\nSome sound\nSome sound"
84%
"Bark\nMeow\nSome sound"
8%
"Meow\nBark\nSome sound"
0%
"Bark\nSome sound\nMeow"
June 6, 2024
Методы класса
Методы — это функции, которые определяют поведение объекта. Методы могут изменять состояние объекта (то есть поля) или выполнять какие-либо действия. Методы объявляются внутри класса и имеют следующие компоненты:
Возвращаемый тип: Тип данных, который метод возвращает. Если метод ничего не возвращает, используется void.
Имя метода: Идентификатор, используемый для вызова метода.
Параметры: Список параметров, передаваемых методу (если есть).
Тело метода: Код, который выполняет метод.
Объявление методов
Пример метода, который принимает параметры и возвращает значение:
Использование методов:
Методы доступа (геттеры и сеттеры)
Геттеры и сеттеры используются для доступа к приватным полям класса. Геттер возвращает значение поля, а сеттер устанавливает значение поля.
Пример:
Использование геттеров и сеттеров:
Перегрузка методов
Перегрузка методов позволяет объявлять несколько методов с одним и тем же именем, но с разными параметрами.
Пример перегрузки методов:
Использование перегруженных методов:
Методы с переменным числом параметров (Varargs)
В Java можно создать метод, который принимает переменное количество параметров, используя ... (три точки) после типа параметра.
Пример метода с переменным числом параметров:
Методы — это функции, которые определяют поведение объекта. Методы могут изменять состояние объекта (то есть поля) или выполнять какие-либо действия. Методы объявляются внутри класса и имеют следующие компоненты:
Возвращаемый тип: Тип данных, который метод возвращает. Если метод ничего не возвращает, используется void.
Имя метода: Идентификатор, используемый для вызова метода.
Параметры: Список параметров, передаваемых методу (если есть).
Тело метода: Код, который выполняет метод.
Объявление методов
Пример метода, который принимает параметры и возвращает значение:
public class Calculator {
// Метод для сложения двух чисел
public int add(int a, int b) {
return a + b;
}
// Метод для вычитания двух чисел
public int subtract(int a, int b) {
return a - b;
}
}
Использование методов:
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
int sum = calc.add(5, 3);
int difference = calc.subtract(5, 3);
System.out.println("Sum: " + sum); // Выведет "Sum: 8"
System.out.println("Difference: " + difference); // Выведет "Difference: 2"
}
}
Методы доступа (геттеры и сеттеры)
Геттеры и сеттеры используются для доступа к приватным полям класса. Геттер возвращает значение поля, а сеттер устанавливает значение поля.
Пример:
public class Person {
private String name;
private int age;
// Конструктор
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Геттер для поля name
public String getName() {
return name;
}
// Сеттер для поля name
private void setName(String name) {
this.name = name;
}
// Геттер для поля age
public int getAge() {
return age;
}
// Сеттер для поля age
private void setAge(int age) {
this.age = age;
}
}
Использование геттеров и сеттеров:
public class Main {
public static void main(String[] args) {
Person person = new Person("Alice", 30);
System.out.println("Name: " + person.getName()); // Выведет "Name: Alice"
System.out.println("Age: " + person.getAge()); // Выведет "Age: 30"
person.setName("Bob");
person.setAge(35);
System.out.println("Updated Name: " + person.getName()); // Выведет "Updated Name: Bob"
System.out.println("Updated Age: " + person.getAge()); // Выведет "Updated Age: 35"
}
}
Перегрузка методов
Перегрузка методов позволяет объявлять несколько методов с одним и тем же именем, но с разными параметрами.
Пример перегрузки методов:
public class MathOperations {
// Метод для сложения двух целых чисел
public int add(int a, int b) {
return a + b;
}
// Метод для сложения трех целых чисел
public int add(int a, int b, int c) {
return a + b + c;
}
// Метод для сложения двух дробных чисел
public double add(double a, double b) {
return a + b;
}
}
Использование перегруженных методов:
public class Main {
public static void main(String[] args) {
MathOperations mathOps = new MathOperations();
System.out.println(mathOps.add(1, 2)); // Выведет "3"
System.out.println(mathOps.add(1, 2, 3)); // Выведет "6"
System.out.println(mathOps.add(1.5, 2.5)); // Выведет "4.0"
}
}
Методы с переменным числом параметров (Varargs)
В Java можно создать метод, который принимает переменное количество параметров, используя ... (три точки) после типа параметра.
Пример метода с переменным числом параметров:
public class VarargsExample {
// Метод для суммирования переменного числа целых чисел
public int sum(int... numbers) {
int total = 0;
for (int number : numbers) {
total += number;
}
return total;
}
}
June 6, 2024
Использование метода с переменным числом параметров:
Статические методы
Статические методы принадлежат классу, а не экземпляру класса, и могут быть вызваны без создания объекта.
Пример статического метода:
Использование статического метода:
#Java #Training
public class Main {
public static void main(String[] args) {
VarargsExample example = new VarargsExample();
System.out.println(example.sum(1, 2, 3)); // Выведет "6"
System.out.println(example.sum(1, 2, 3, 4, 5)); // Выведет "15"
}
}
Статические методы
Статические методы принадлежат классу, а не экземпляру класса, и могут быть вызваны без создания объекта.
Пример статического метода:
public class MathUtils {
// Статический метод для вычисления квадрата числа
public static int square(int number) {
return number * number;
}
}
Использование статического метода:
public class Main {
public static void main(String[] args) {
int result = MathUtils.square(5);
System.out.println("Square: " + result); // Выведет "Square: 25"
}
}
#Java #Training
June 6, 2024
Какой у Вас грейд?
Опрос проводится анонимно с целью понимания какой контент выкладывать на канале!
Не стесняйтесь отвечать)
Опрос проводится анонимно с целью понимания какой контент выкладывать на канале!
Не стесняйтесь отвечать)
Anonymous Poll
0%
Я тимлид и выше
0%
Senior
0%
Midle
10%
Junior
90%
Я новичок и только учусь
June 6, 2024
Ребят, обучающий контент я буду выкладывать по 1-2 посту в день.
О желаемых темах можете написать в комментариях. Там же готов обсудить все вопросы. Найти обучалки можно по хештегу #Training.
Задачки публикуются также ежедневно под хештегом #Tasks - решайте и повышайте свой уровень!
Чат у нас доступен по ссылке - https://t.me/Java_Beginner_chat, заходите будем общаться))
В остальном я ориентироваться буду на вашу активность)
Пишите не стесняйтесь!)
О желаемых темах можете написать в комментариях. Там же готов обсудить все вопросы. Найти обучалки можно по хештегу #Training.
Задачки публикуются также ежедневно под хештегом #Tasks - решайте и повышайте свой уровень!
Чат у нас доступен по ссылке - https://t.me/Java_Beginner_chat, заходите будем общаться))
В остальном я ориентироваться буду на вашу активность)
Пишите не стесняйтесь!)
June 6, 2024
Конструкторы
Конструкторы — это специальные методы, которые вызываются при создании объекта. Они инициализируют объект и могут принимать параметры для задания начальных значений полей. Конструкторы имеют то же имя, что и класс, и не возвращают значений (даже void не указывается).
Конструктор по умолчанию
Если вы не создаете конструктор в классе, Java автоматически создает конструктор по умолчанию, который не принимает параметров и не выполняет никаких действий. Пример:
Использование конструктора по умолчанию:
Явное определение конструктора
Для задания значений полей при создании объекта можно явно определить конструктор:
Использование явного конструктора:
Перегрузка конструкторов
Конструкторы могут быть перегружены, то есть можно создать несколько конструкторов с разными параметрами. Это позволяет создавать объекты разными способами.
Пример перегрузки конструкторов:
Использование перегруженных конструкторов:
Инициализация полей с помощью конструктора
Конструкторы часто используются для инициализации полей объекта.
Пример:
Использование конструктора:
Вызов другого конструктора из конструктора
В Java можно вызвать один конструктор из другого с помощью ключевого слова this.
Пример:
Использование:
#Java #Training
Конструкторы — это специальные методы, которые вызываются при создании объекта. Они инициализируют объект и могут принимать параметры для задания начальных значений полей. Конструкторы имеют то же имя, что и класс, и не возвращают значений (даже void не указывается).
Конструктор по умолчанию
Если вы не создаете конструктор в классе, Java автоматически создает конструктор по умолчанию, который не принимает параметров и не выполняет никаких действий. Пример:
public class Person {
String name;
int age;
// Конструктор по умолчанию создается автоматически
}
Использование конструктора по умолчанию:
public class Main {
public static void main(String[] args) {
Person person = new Person(); // Вызов конструктора по умолчанию
}
}
Явное определение конструктора
Для задания значений полей при создании объекта можно явно определить конструктор:
public class Person {
String name;
int age;
// Явный конструктор
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Использование явного конструктора:
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30); // Вызов конструктора с параметрами
}
}
Перегрузка конструкторов
Конструкторы могут быть перегружены, то есть можно создать несколько конструкторов с разными параметрами. Это позволяет создавать объекты разными способами.
Пример перегрузки конструкторов:
public class Person {
String name;
int age;
// Конструктор без параметров
public Person() {
this.name = "Unknown";
this.age = 0;
}
// Конструктор с параметрами
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Использование перегруженных конструкторов:
public class Main {
public static void main(String[] args) {
Person person1 = new Person(); // Вызов конструктора без параметров
Person person2 = new Person("Alice", 25); // Вызов конструктора с параметрами
System.out.println("Person 1: " + person1.name + ", " + person1.age);
System.out.println("Person 2: " + person2.name + ", " + person2.age);
}
}
Инициализация полей с помощью конструктора
Конструкторы часто используются для инициализации полей объекта.
Пример:
public class Car {
String make;
String model;
int year;
// Конструктор с параметрами
public Car(String make, String model, int year) {
this.make = make;
this.model = model;
this.year = year;
}
}
Использование конструктора:
public class Main {
public static void main(String[] args) {
Car car = new Car("Toyota", "Corolla", 2020);
System.out.println("Make: " + car.make + ", Model: " + car.model + ", Year: " + car.year);
}
}
Вызов другого конструктора из конструктора
В Java можно вызвать один конструктор из другого с помощью ключевого слова this.
Пример:
public class Person {
String name;
int age;
// Конструктор без параметров
public Person() {
this("Unknown", 0); // Вызов конструктора с параметрами
}
// Конструктор с параметрами
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Использование:
public class Main {
public static void main(String[] args) {
Person person = new Person(); // Вызов конструктора без параметров, который вызывает другой конструктор
System.out.println("Name: " + person.name + ", Age: " + person.age);
}
}
#Java #Training
June 7, 2024
Если завтра-послезавтра (время будет анонсировано позже) будет онлайн встреча по созданию мини проекта, Вы желаете принять участие?
Anonymous Poll
57%
Да, конечно!
39%
Мне интересно, но я не смогу по ряду причин
4%
Ерундой страдаете)
June 7, 2024
Forwarded from English Beginners
Subscribe to us and you won’t have to remain silent in the presence of English speakers!
https://t.me/english_for_begginers
#Mems
https://t.me/english_for_begginers
#Mems
June 7, 2024
Подписывайтесь на канал, мы умеем выводить в консоль "Hello World"!
https://t.me/Java_for_beginner_dev
#Mems
https://t.me/Java_for_beginner_dev
#Mems
June 7, 2024
Какой вариант ответа из задачи выше?
Anonymous Quiz
7%
Circle\nSquare
87%
Drawing Circle\nDrawing Square
7%
Circle\nDrawing Square
0%
Drawing Circle\nSquare
June 7, 2024
Подумайте, что выведет программа в консоль.
#Tasks
abstract class Shape {
abstract void draw();
}
class Circle extends Shape {
@Override
void draw() {
System.out.println("Drawing Circle");
}
}
class Square extends Shape {
@Override
void draw() {
System.out.println("Drawing Square");
}
}
public class Main {
public static void main(String[] args) {
Shape shape1 = new Circle();
Shape shape2 = new Square();
shape1.draw();
shape2.draw();
}
}
#Tasks
June 7, 2024
Статические и блоки инициализации
Статические блоки инициализации используются для инициализации статических полей класса. Они выполняются один раз при загрузке класса.
Пример:
При запуске программы выведется:
Блоки инициализации
Блоки инициализации используются для инициализации полей объекта и выполняются при каждом создании объекта, перед вызовом конструктора.
Пример:
При запуске программы выведется:
Использование статических блоков инициализации
Статические блоки инициализации полезны, когда нужно выполнить сложную логику инициализации статических полей.
Пример:
Инициализация статических полей
Статические поля можно инициализировать непосредственно при их объявлении или в статическом блоке инициализации.
Пример:
Инициализация полей в блоках инициализации
Блоки инициализации позволяют выполнять инициализацию, которая не может быть выполнена в объявлении полей.
Пример:
Разница между статическими и нестатическими блоками инициализации
- статические блоки инициализации выполняются один раз при загрузке класса и используются для инициализации статических полей.
- нестатические блоки инициализации выполняются при каждом создании объекта и используются для инициализации нестатических полей.
#Java #Training
Статические блоки инициализации используются для инициализации статических полей класса. Они выполняются один раз при загрузке класса.
Пример:
public class StaticExample {
static int staticValue;
// Статический блок инициализации
static {
staticValue = 10;
System.out.println("Static block executed");
}
public static void main(String[] args) {
System.out.println("Static value: " + staticValue);
}
}
При запуске программы выведется:
Static block executed
Static value: 10
Блоки инициализации
Блоки инициализации используются для инициализации полей объекта и выполняются при каждом создании объекта, перед вызовом конструктора.
Пример:
public class InitializationExample {
int value;
// Блок инициализации
{
value = 5;
System.out.println("Initialization block executed");
}
public InitializationExample() {
System.out.println("Constructor executed");
}
public static void main(String[] args) {
InitializationExample example = new InitializationExample();
System.out.println("Value: " + example.value);
}
}
При запуске программы выведется:
Initialization block executed
Constructor executed
Value: 5
Использование статических блоков инициализации
Статические блоки инициализации полезны, когда нужно выполнить сложную логику инициализации статических полей.
Пример:
public class Configuration {
static String config;
static {
// Имитация загрузки конфигурации
config = loadConfig();
}
private static String loadConfig() {
// Сложная логика загрузки конфигурации
return "Loaded configuration";
}
public static void main(String[] args) {
System.out.println("Configuration: " + config);
}
}
Инициализация статических полей
Статические поля можно инициализировать непосредственно при их объявлении или в статическом блоке инициализации.
Пример:
public class StaticInitialization {
static int staticValue = 10;
static {
staticValue = 20;
}
public static void main(String[] args) {
System.out.println("Static value: " + staticValue); // Выведет "Static value: 20"
}
}
Инициализация полей в блоках инициализации
Блоки инициализации позволяют выполнять инициализацию, которая не может быть выполнена в объявлении полей.
Пример:
public class InitializationBlockExample {
int value;
{
value = calculateInitialValue();
}
private int calculateInitialValue() {
// Сложная логика расчета начального значения
return 42;
}
public static void main(String[] args) {
InitializationBlockExample example = new InitializationBlockExample();
System.out.println("Value: " + example.value); // Выведет "Value: 42"
}
}
Разница между статическими и нестатическими блоками инициализации
- статические блоки инициализации выполняются один раз при загрузке класса и используются для инициализации статических полей.
- нестатические блоки инициализации выполняются при каждом создании объекта и используются для инициализации нестатических полей.
#Java #Training
June 7, 2024