O que é sobrecarga de construtor em Java
Publicados: 2022-11-16A demanda por aplicativos da Web está aumentando globalmente. Java surgiu como uma escolha preferida para desenvolvedores com necessidade de programação em larga escala. A popularidade do Java depende de seus recursos dinâmicos, interface amigável e alta compatibilidade com os principais sistemas operacionais. A linguagem tem uma API rica. Outra vantagem do Java é que ele oferece suporte robusto à comunidade e excelentes serviços de documentação. Não se esqueça do conjunto de ferramentas de desenvolvimento oferecido pelo Java.
O que você quer dizer com construtores em Java?
Os construtores em Java são usados principalmente para inicializar o estado do objeto. Semelhante aos métodos, os construtores consistem em um grupo de instruções ou declarações que devem ser executadas quando um objeto está sendo criado.
Qual é a necessidade de um construtor em Java?
Para explicar a necessidade de um constrictor em Java, vamos dar um exemplo de uma caixa. Considere a caixa como uma classe. A caixa terá diferentes variáveis como comprimento, largura e altura. Na hora de criar um objeto, a classe box não terá nenhum valor definido para suas dimensões. Quando novos objetos são criados, os construtores atribuem valores às variáveis de classe de duas maneiras – por vários parâmetros passados pelo programador ou usando construtores Java padrão.
O que você quer dizer com sobrecarga de construtor em Java?
Na sobrecarga do construtor , vários construtores da mesma classe são definidos. No entanto, cada construtor deve ter uma assinatura exclusiva ou parâmetros de entrada específicos. O programa de sobrecarga de construtor em Java permite que uma única classe tenha mais de um construtor, que difere pela lista de argumentos passados. Cada construtor sobrecarregado é usado para executar várias tarefas de classe.
O compilador Java identifica os construtores sobrecarregados com base em tipos de parâmetros, listas de parâmetros e quantidades de parâmetros de entrada. É bastante óbvio que os construtores sobrecarregados têm assinaturas diferentes. A assinatura do construtor conterá seus tipos de parâmetro e seu nome. Às vezes, surgem problemas de ambiguidade quando dois construtores de classe têm uma assinatura idêntica. Em tal situação, o compilador não pode diferenciar entre os dois. Portanto, exibe uma notificação de erro. Às vezes, existem construtores sobrecarregados com assinaturas diferentes. Neste caso, o compilador verifica se o condutor é invocado dependendo do número de parâmetros de entrada dos diferentes objetos.
Exemplo de Sobrecarga do Construtor
Neste exemplo, estamos procurando criar dois objetos da classe StudentData . Um objeto usa um construtor padrão, enquanto o outro usa um construtor parametrizado. Ambos os construtores têm códigos de inicialização separados. É possível criar construtores de quaisquer números com códigos de inicialização diferentes-2 para propósitos diferentes-2.

AlunoDados.java
classe StudentData
{
private int stuID;
private String stuName;
private int stuAge;
Dados do Aluno ()
{
//Construtor padrão
stuID = 100 ;
stuName = “Novo Aluno” ;
stuIdade = 18 ;
}
StudentData ( int num1, String str, int num2)
{
//Construtor parametrizado
stuID = num1;
stuNome = str;
idade = num2;
}
// Métodos getters e setters
public int getStuID() {
return stuID;
}
public void setStuID( int stuID) {
este .stuID = stuID;
}
public String getStuName() {
return nomeNome;
}
public void setStuName( String stuName) {
este .stuName = stuName;
}
public int getStuAge() {
return stuAge;
}
public void setStuAge( int stuAge) {
este .stuAge = stuAge;
}
public static void main( String args[])
{
//Esta criação de objeto chamaria o construtor padrão
StudentData myobj = new StudentData ();
Sistema . out .println( “O nome do aluno é: “ +myobj.getStuName());
Sistema . out .println( “A idade do aluno é: “ +myobj.getStuAge());
Sistema . out .println( “ID do aluno é: “ +myobj.getStuID());
/*A criação deste objeto chamaria o parametrizado
* construtor StudentData(int, String, int)*/
StudentData myobj2 = new StudentData ( 555 , “Chaitanya” , 25 );
Sistema . out .println( “O nome do aluno é: “ +myobj2.getStuName());
Sistema . out .println( “A idade do aluno é: “ +myobj2.getStuAge());
Sistema . out .println( “ID do aluno é: “ +myobj2.getStuID());
}
}
Resultado:
O nome do aluno é : novo aluno
A idade do aluno é : 18
A carteira de estudante é : 100
O nome do aluno é : Chaitanya
A idade do aluno é : 25
O ID do aluno é : 555
Referência: https://beginnersbook.com/2013/05/constructor-overloading/
Aprenda Cursos de Desenvolvimento de Software online nas melhores universidades do mundo. Ganhe Programas Executivos de PG, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Entendendo a função deste () na sobrecarga do construtor
classe pública OverloadingExample2
{
private int rollNum;
OverloadingExample2 ()
{
rollNum = 100 ;
}
OverloadingExample2 ( int rnum)
{
isso ();
/*this() é usado para chamar o padrão
* construtor do construtor parametrizado.
* Deve ser sempre a primeira declaração
* dentro do corpo do construtor.
*/
rollNum = rollNum+ rnum;
}
public int getRollNum() {
return rollNum;
}
public void setRollNum( int rollNum) {
este .rollNum = rollNum;
}
public static void main( String args[])
{
OverloadingExample2 obj = new OverloadingExample2 ( 12 );
Sistema . out .println(obj.getRollNum());
}
}
Resultado
112

Referência: https://beginnersbook.com/2013/05/constructor-overloading/
Webinar de desenvolvimento de software exclusivo da upGrad para você –
Webinar de desenvolvimento de software exclusivo da upGrad para você –
SAAS Business – O que há de tão diferente?
No programa citado acima, o construtor parametrizado é chamado durante a criação do objeto. O construtor padrão é invocado quando this () é colocado no construtor parametrizado. A variável rollNum é inicializada.
Outro exemplo:
Quando você não implementa nenhum construtor, o compilador java irá inserir um construtor padrão no código durante a compilação. No entanto, o compilador não faz isso quando você implementa qualquer construtor. Veja o exemplo aqui para entender melhor este ponto:
demonstração de classe pública
{
private int rollNum;
//Não estamos definindo um construtor sem argumentos aqui
Demonstração ( int rnum)
{
rollNum = rollNum+ rnum;
}
// Métodos getters e setters
public static void main( String args[])
{
//Esta instrução chamaria o construtor sem argumento
Demonstração obj = nova Demonstração ();
}
}
Resultado:
Exceção no thread “principal” java.lang. Erro : compilação não resolvida
Problema: O construtor Demo () é indefinido
Cursos e artigos populares sobre engenharia de software
Programas Populares | |||
Programa Executivo PG em Desenvolvimento de Software - IIIT B | Programa de Certificação Blockchain - PURDUE | Programa de Certificação de Segurança Cibernética - PURDUE | MSC em Ciência da Computação - IIIT B |
Outros artigos populares | |||
Salário de engenheiro de nuvem nos EUA 2021-22 | Salário do arquiteto de soluções da AWS nos EUA | Salário do desenvolvedor de back-end nos EUA | Salário do desenvolvedor front-end nos EUA |
Salário do Desenvolvedor Web nos Estados Unidos | Perguntas da entrevista do Scrum Master em 2022 | Como iniciar uma carreira em segurança cibernética em 2022? | Opções de carreira nos EUA para estudantes de engenharia |
Explicando o uso da sobrecarga do construtor
Com a sobrecarga de construção , torna-se possível habilitar a criação de um objeto de uma classe específica de diferentes maneiras. Portanto, esse conceito é usado em vários programas Java, dependendo da necessidade do programador. Ao usar a sobrecarga do construtor em Java , é possível inicializar os objetos com diferentes tipos de dados.
Por exemplo, considere que há um objeto com três variáveis de instância de classe. Você deve atribuir um valor específico à segunda variável de instância e valores padrão às outras variáveis. Faça isso declarando vários construtores de acordo com diferentes assinaturas na classe constituinte.
Vantagens da sobrecarga do construtor em Java
A seguir, são mencionadas as principais vantagens de usar a sobrecarga do construtor enquanto você está escrevendo programas Java:
- Você pode inicializar as instâncias de classe de várias maneiras usando a sobrecarga do construtor.
- Com a sobrecarga do construtor, você pode realizar o polimorfismo estático.
- Cada construtor sobrecarregado executa tarefas diferentes para fins específicos.
- A sobrecarga de construtor em Java suaviza o processo de definição de vários construtores em uma única classe com assinaturas exclusivamente específicas.
Conclusão
Este artigo discute o programa de sobrecarga do construtor em Java e seus benefícios. Há mais de um construtor de uma classe com assinaturas diferentes quando há construtores sobrecarregados. Para compilar, cada construtor deve ter diferentes listas de parâmetros. Uma lista de parâmetros incluirá os tipos e ordens de argumentos. É impossível ter dois construtores com as mesmas listas de parâmetros em uma classe.

Full Stack Development Certificate Program da upGrad para desenvolvedores de software e profissionais de tecnologia
Se você é novo no setor de desenvolvimento de software ou está procurando aprimorar suas habilidades, deve aprender novas habilidades e tecnologias por meio de cursos relevantes. O desenvolvimento full-stack é um desses cursos.
upGrad oferece Programa Executivo em Desenvolvimento de Software para candidatos interessados, projetado exclusivamente para profissionais de TI, desenvolvedores de software, profissionais de suporte técnico, analistas e recém-formados que desejam se aventurar na área de desenvolvimento de software.
Você será altamente qualificado em JavaScript e aprenderá Microsserviços e MERN Stack com este curso. Além de aprender mais de 10 linguagens e ferramentas de programação, você também aprenderá as várias ferramentas usadas extensivamente no Facebook, Walmart, Netflix e LinkedIn. O programa oferece uma experiência de aprendizado imersiva no Cloud Labs.
Os alunos que fizerem este programa de certificação terão a oportunidade de projetar, desenvolver, testar e implantar aplicativos da Web no projeto Capstone. Os alunos recebem sessões individuais de orientação profissional com os principais mentores do setor com esses benefícios. Ao concluir o curso, você pode trabalhar como desenvolvedor full-stack, desenvolvedor de interface do usuário, front-end e back-end.
Inscreva-se agora para se inscrever no curso!
Qual é a utilidade de um construtor em Java?
Um construtor em Java é usado para inicializar objetos e criar um objeto de uma classe. Você também pode definir valores iniciais para recursos e atributos de objetos. Um construtor é como um bloco de códigos, semelhante a um método ou processo.
A sobrecarga do construtor ocorre para a classe estática?
Curiosamente, os condutores estáticos não podem ser sobrecarregados ou herdados. Um condutor estático é invocado automaticamente. O usuário não tem controle quando o construtor estático é executado no programa.
Existe uma diferença entre sobrecarga de construtor e sobrecarga de método?
Um método é usado para executar certas funções de classe, enquanto um construtor inicializa um objeto. Quando você cria um objeto, os construtores são invocados implicitamente. No entanto, os métodos devem ser chamados explicitamente pelo usuário.