Конструктор
Конструктор - это специальный метод класса, который
автоматически вызывается при создании объекта с помощью
оператора new. Его основная задача - инициализация
полей объекта. Конструктор имеет то же имя, что и класс,
и не имеет возвращаемого типа. В первом параметре мы
передаем значение для первого поля, во втором - для
второго поля и так далее. Если конструктор не объявлен
явно, компилятор создает конструктор по умолчанию без
параметров.
Синтаксис
public class ClassName
{
public ClassName(parameters)
{
// initialization code
}
}
Пример
Давайте создадим класс User с конструктором,
принимающим два параметра:
public class Main
{
public static void main(String[] args)
{
User user = new User("John", 25);
System.out.println(user.name + " " + user.age);
}
}
class User
{
String name;
int age;
public User(String name, int age)
{
this.name = name;
this.age = age;
}
}
Результат выполнения кода:
"John 25"
Пример
Давайте создадим класс с конструктором по умолчанию, который устанавливает значения полей:
public class Main
{
public static void main(String[] args)
{
Box box = new Box();
System.out.println(box.width + " " + box.height);
}
}
class Box
{
int width;
int height;
public Box()
{
this.width = 10;
this.height = 20;
}
}
Результат выполнения кода:
"10 20"
Пример
Давайте создадим класс с несколькими конструкторами, перегружающими друг друга:
public class Main
{
public static void main(String[] args)
{
Point p1 = new Point();
Point p2 = new Point(5);
Point p3 = new Point(5, 10);
System.out.println(p1.x + " " + p1.y);
System.out.println(p2.x + " " + p2.y);
System.out.println(p3.x + " " + p3.y);
}
}
class Point
{
int x;
int y;
public Point()
{
this(0, 0);
}
public Point(int x)
{
this(x, 0);
}
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
Результат выполнения кода:
"0 0"
"5 0"
"5 10"
Смотрите также
-
ключевое слово
this,
которое ссылается на текущий объект -
ключевое слово
static,
которое создает статические члены класса -
ключевое слово
final,
которое запрещает изменение переменной -
ключевое слово
inheritance,
которое описывает наследование классов