Com implementar millor la sobrecàrrega del constructor a Java?



Aquest article us presentarà la sobrecàrrega del constructor a Java. L'explicació anirà seguida d'una demostració programàtica.

L'adveniment de Java va agafar el món de la programació per assalt i el principal motiu d'això són les funcions numèriques que aportava. En aquest article tractaríem sobre la sobrecàrrega del constructor . En aquest article es discutiran les següents indicacions,

Comencem doncs,





Sobrecàrrega del constructor a Java

Què és un constructor?

Un constructor és un bloc de codi utilitzat per crear objectes d'una classe. Totes les classes tenen un constructor, ja sigui classe normal o classe abstracta. Un constructor és com un mètode però sense tipus de retorn. Quan no hi ha cap constructor definit per a una classe, el compilador crea un constructor per defecte.

implementació de hashmap a l’exemple de java

Exemple



public class Student {// no constructor private String name private int age private String std // getters and setters public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// per utilitzar el mètode de visualització de la classe Student, creeu objecte de Student Student student = new Student () // ja que no hem definit cap constructor , el compilador crea un constructor per defecte. de manera que student.display ()}}

Al programa anterior, el compilador crea el constructor per defecte de manera que es crea l'objecte. És obligatori tenir constructor.

Això ens porta al següent article d'aquest article sobreSobrecàrrega del constructor a Java.

Necessitat d'altres constructors

A l'exemple anterior, l'objecte Student només es pot crear amb el constructor per defecte. On no s’inicialitza la resta d’atributs de l’alumne. Però hi pot haver certs altres constructors, que s’utilitzen per inicialitzar l’estat d’un objecte. per exemple -



public class Student {// atributs String name int age String std // Constructors public Student (String name) {// Constructor 1 this.name = name} public Student (String name, String std) {// Constructor 2 this.name = nom this.std = std} públic Estudiant (nom de cadena, cadena std, int age) {// Constructor 3 this.name = nom this.std = std this.age = age} public void display () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = new Student ('ABC') stu1 .display () Student stu2 = new Student ('DEF', '5-C') stu2.display () Student stu3 = new Student ('GHI', '6-C', 12) stu3.display ()}}

Això ens porta al següent article d'aquest article sobreSobrecàrrega del constructor a Java.

aquesta referència ()

aquesta referència () es pot utilitzar dins del constructor parametritzat per trucar implícitament al constructor per defecte. Tingueu en compte que aquesta () hauria de ser la primera afirmació dins d’un constructor.

Exemple

public Student () {} // Constructor 4 public Student (Nom de la cadena, String std, int age) {// Constructor 3 this () // cridarà el constructor per defecte. * Si no és la primera declaració del constructor, es produirà ERROR * this.name = name this.std = std this.age = age

Nota

  • La trucada del constructor recursiu no és vàlida a Java
  • Si hem definit algun constructor parametritzat, el compilador no crearà el constructor per defecte. i viceversa, si no definim cap constructor, el compilador crea el constructor per defecte (també conegut com a constructor no-arg) per defecte durant la compilació
  • La trucada al constructor ha de ser la primera declaració del constructor a Java

Així hem arribat al final d’aquest article sobre ‘Sobrecàrrega del constructor a Java’. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació de Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes Java bàsics com avançats, juntament amb diversos marcs Java com Hibernate & Spring.

Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.