O construtor de Java é um papel muito importante. Primeiro de tudo, o construtor em Java pode ser sobrecarregado e, como também pode ser herdado do construtor da classe pai, na subclasse, a primeira coisa é chamar o construtor da classe pai. Você pode compará -lo com os dois exemplos a seguir:
public class Test {public static void main (string args []) {b b = new B (100); }} classe A {public a () {System.out.println ("A sem nenhum parâmetro"); } public a (int i) {System.out.println ("a com um parâmetro"); }} classe B estende a {public b () {System.out.println ("b sem qualquer parâmetro"); } public b (int i) {System.out.println ("b com um parâmetro"); }}A saída final deste exemplo é
A sem qualquer parâmetro
B com um parâmetro
Você pode ver que a primeira coisa que você chama é o construtor da classe pai e, em seguida, o próprio construtor é chamado. No entanto, como o construtor com parâmetros na classe B aqui não possui uma classe super pai, ele executará apenas o construtor sem parâmetros da classe pai. Se você deseja executar o construtor da classe pai com parâmetros, você deve escrever o código como este:
public class Test {public static void main (string args []) {b b = new B (100); }} classe A {public a () {System.out.println ("A sem nenhum parâmetro"); } public a (int i) {System.out.println ("a com um parâmetro"); }} classe B estende a {public b () {System.out.println ("b sem qualquer parâmetro"); } public b (int i) {super (i); // Este é o parâmetro construtor System.out.println ("b com um parâmetro"); }}Portanto, a saída final é:
A com um parâmetro
B com um parâmetro
Portanto, a classe derivada deve usar super para chamar o construtor que contém parâmetros da classe pai. Aqui está outra pergunta:
classe pública teste se estende x {y y = new y (); Test () {System.out.print ("Z"); } public static void main (string args []) {new test (); }} classe X {y b = new Y (); X () {System.out.print ("X"); }} classe y {y () {System.out.print ("y"); }}Qual é o resultado da saída?
Primeiro, vamos analisar esta pergunta:
Porque primeiro veja essa função principal, existe apenas uma frase de código para esta função principal: new test (); Como descobri que essa classe de teste herda de x, primeiro preciso construir x, então executo o X Classe y b = new y () e depois podemos ver a saída y e, em seguida, executar o construtor de x classe X e saída x; Em seguida, construa Y e execute o próprio construtor do teste, saída Z, para que o resultado da saída seja YXYZ.
A explicação detalhada acima de algum conhecimento sobre construtores em Java é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.