Конструктор по умолчанию имеет такой же доступ как и сам клас.
1. Инициализация static полей во время загрузки класса
2. Инициализация суперкласса
3. Инициализация полей в порядке очередности перед вызовом любого конструктора класса
4. Конструктор класса
class A
{
public A(int x){}
}
class B extends A { }
public class test
{
public static void main (String args [])
{
A a = new B();
System.out.println("complete");
}
}
Будет ошибка компиляции, так как при создании класа B вызывается конструктор по умолчанию. А в класе А его нет.
Порядок инициализации объекта следующий:1. Инициализация static полей во время загрузки класса
2. Инициализация суперкласса
3. Инициализация полей в порядке очередности перед вызовом любого конструктора класса
4. Конструктор класса
public class Main {
{
System.out.print("1 ");
}
Main(){
System.out.print("2 ");
}
public static void main(String[] args) {
System.out.print("3 ");
Main m = new Main();
System.out.print("4 ");
}
static {
System.out.print("5 ");
}
} //
5 3 1 2 4
Комментариев нет:
Отправить комментарий