Neste exemplo, aprenderemos como podemos chamar um construtor de outro construtor em Java.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:
- Construtores Java
- Métodos Java
Exemplo 1: programa Java para chamar um construtor de outro
class Main ( int sum; // first constructor Main() ( // calling the second constructor this(5, 2); ) // second constructor Main(int arg1, int arg2) ( // add two value this.sum = arg1 + arg2; ) void display() ( System.out.println("Sum is: " + sum); ) // main class public static void main(String() args) ( // call the first constructor Main obj = new Main(); // call display method obj.display(); ) )
Resultado
A soma é: 7
No exemplo acima, criamos uma classe chamada Main. Aqui, você criou dois construtores dentro da classe Main.
Main() (… ) Main(int arg1, int arg2) (… )
Dentro do primeiro construtor, usamos a this
palavra-chave para chamar o segundo construtor.
this(5, 2);
Aqui, o segundo construtor é chamado do primeiro construtor passando os argumentos 5 e 2 .
Observação : a linha dentro de um construtor que chama outro construtor deve ser a primeira linha do construtor. Ou seja, this(5, 2)
deve ser a primeira linha de Main()
.
Exemplo 2: chame o construtor da superclasse do construtor da classe filha
Também podemos chamar o construtor da superclasse do construtor da classe filha usando super()
.
// superclass class Languages ( // constructor of the superclass Languages(int version1, int version2) ( if (version1> version2) ( System.out.println("The latest version is: " + version1); ) else ( System.out.println("The latest version is: " + version2); ) ) ) // child class class Main extends Languages ( // constructor of the child class Main() ( // calling the constructor of super class super(11, 8); ) // main method public static void main(String() args) ( // call the first constructor Main obj = new Main(); ) )
Resultado
A última versão é: 11
No exemplo acima, criamos uma superclasse denominada Languages e uma subclasse Main. Dentro do construtor da classe Main, observe a linha,
super(11, 8);
Aqui, estamos chamando o construtor da superclasse (ou seja Languages(int version1, int version2)
) a partir do construtor da subclasse ( Main()
).