Конструктор Java является очень важной ролью. Прежде всего, конструктор в Java может быть перегружен, и, поскольку он также может быть унаследован от конструктора родительского класса, в подклассе, первое, что это назвать конструктором родительского класса. Вы можете сравнить его со следующими двумя примерами:
открытый тест класса {public static void main (string args []) {b b = new b (100); }} класс a {public a () {System.out.println ("a без какого -либо параметра"); } public a (int i) {System.out.println ("a с параметром"); }} класс B расширяет {public b () {System.out.println ("b без какого -либо параметра"); } public b (int i) {System.out.println ("b с параметром"); }}Окончательный результат этого примера
А без какого -либо параметра
B с параметрами
Вы можете видеть, что первое, что вы называете, - это конструктор родительского класса, а затем называется собственный конструктор. Однако, поскольку конструктор с параметрами в классе B здесь не имеет супер родительского класса, он выполнит только конструктор без параметров родительского класса. Если вы хотите, чтобы он выполнил конструктор родительского класса с параметрами, то вам нужно написать код таким образом:
открытый тест класса {public static void main (string args []) {b b = new b (100); }} класс a {public a () {System.out.println ("a без какого -либо параметра"); } public a (int i) {System.out.println ("a с параметром"); }} класс B расширяет {public b () {System.out.println ("b без какого -либо параметра"); } public b (int i) {super (i); // это система конструктора параметров.out.println ("b с параметром"); }}Итак, окончательный вывод:
А с параметом
B с параметрами
Следовательно, полученный класс должен использовать супер для вызова конструктора, содержащего параметры родительского класса. Вот еще один вопрос:
Общественный тест класса расширяет x {y y = new y (); Test () {System.out.print ("z"); } public static void main (String args []) {new Test (); }} класс x {y b = new y (); X () {System.out.print ("x"); }} класс y {y () {System.out.print ("y"); }}Какой результат вывода?
Во -первых, давайте проанализируем этот вопрос:
Поскольку сначала посмотрите на эту основную функцию, для этой основной функции есть только один код: New Test (); Поскольку я обнаружил, что этот тестовый класс наследует от x, мне сначала нужно построить x, поэтому я запускаю x class y b = new y (), а затем мы увидим выход y, а затем выполняю конструктор X класса X и вывода x; Затем постройте Y, затем выполните собственный конструктор теста, выходной Z, чтобы результат выходного вывода - yxyz.
Приведенное выше подробное объяснение некоторых знаний о конструкторах в Java - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.