Java-Class Instance Generation Part.2

Informationen zum Schreiben eines Artikels

Ich beziehe mich nicht auf Klassenfolien, daher denke ich, dass dies aus einer anderen Perspektive erklärt wird. Vielleicht sage ich es (sollte).

Bitte lassen Sie mich wissen, wenn Sie einen Fehler machen können, da es sich um eine Ad-lib handelt!

Es besteht aus 4 Teilen

Teil 1 Erstellen wir eine Instanz Teil 2 Reiniger mit Konstruktor ← Imakoko Teil 3 Kontrollieren Sie den Zugriff und begrenzen Sie eingehende Werte Teil.4 Versuchen Sie, Klassenvariablen / -methoden zu verwenden

Leine

In Teil 1 habe ich einen digitalen Studentenausweis als Klasse geschrieben und den Studentenausweis von Tanaka-kun und Noguchi-kun als Instanz erstellt. Ich werde diesen Code auch dieses Mal weiter verwenden.

DigitalStudentCard.java


class DigitalStudentCard{
  //Schülernummer
  int num;

  //Name
  String name;

  //Methode für die Ausgabe (Selbsteinführung erhalten)
  String getSelfIntroduction(){
    return "Schülernummer: " + num + "Name: " + name);
  }
}
class UseClass{
  public static void main(String[] args){

    //Instanzgenerierung
    DigitalStudentCard tanaka = new DigitalStudentCard();

    //Instanzvariable zuweisen
    tanaka.num = 118114;
    tanaka.name = "Kakuei Tanaka";


    //Erstellen Sie eine andere Instanz
    DigitalStudentCard noguchi = new DigitalStudentCard();

    //Weisen Sie der Variablen der neu erstellten Instanz zu
    noguchi.num = 118514;
    noguchi.name = "Hideyo Noguchi";

    //Ausgabe
    System.out.println(tanaka.getSelfIntroduction);
        //Schülernummer:118114 Name:Kakuei Tanaka

    System.out.println(noguchi.getSelfIntroduction);
        //Schülernummer:118514 Name:Hideyo Noguchi
  }
}

Verwenden wir dieses Mal einen -Konstruktor </ b>, um diesen Code intelligenter zu schreiben.

Was ist ein Konstruktor?

Ein Konstruktor ist eine -Methode, die nur einmal aufgerufen wird, wenn eine Instanz erstellt wird </ b>. Es ist, als ob die Funktion "void setup ()" von Processing eine Funktion war, die nur einmal ausgeführt wird, wenn die Anwendung gestartet wird.

Es wird verwendet, wenn Sie beim Erstellen einer Instanz einen Wert zusammenfügen möchten.

ich werde schreiben

Versuchen Sie, DigitalStudentCard einen Konstruktor hinzuzufügen. Es ist ärgerlich, es später einzufügen, sodass Sie beim Erstellen einer Instanz "num" und "name" festlegen können

Der -Konstruktor kann implementiert werden, indem einfach der Name der Klasse so geschrieben wird, wie er ist </ b>. Wenn Sie ein Argument erhalten möchten, schreiben Sie einfach ein formales Argument wie eine Methode.

DigitalStudentCard.java


class DigitalStudentCard{
  //Schülernummer
  int num;

  //Name
  String name;

  //Konstrukteur
  DigitalStudentCard(int num, String name){
    //Argument num zu Instanznummer(this.num)Ersatz für
    this.num = num;

    //Ebenfalls
    this.name = name;
  }

  //Methode für die Ausgabe (Selbsteinführung erhalten)
  String getSelfIntroduction(){
    return "Schülernummer: " + num + "Name: " + name);
  }
}

Wenn Sie dies verwenden, geben Sie ein Argument bei "new DigitalStudentCard ()" an.

class UseClass{
  public static void main(String[] args){

    //Instanzgenerierung
    DigitalStudentLicense tanaka = new DigitalStudentCard(118114, "Kakuei Tanaka");

    //Erstellen Sie eine andere Instanz
    DigitalStudentLicense noguchi = new DigitalStudentCard(118514, "Hideyo Noguchi");

    //Ausgabe
    System.out.println(tanaka.getSelfIntroduction);
        //Schülernummer:118114 Name:Kakuei Tanaka

    System.out.println(noguchi.getSelfIntroduction);
        //Schülernummer:118514 Name:Hideyo Noguchi
  }
}

Mit dem Konstruktor konnte ich den Code noch weiter verkürzen.

Apropos

Da der Konstruktor wie die Methode überladen werden kann, können Sie mehrere schreiben und den Prozess verzweigen.

DigitalStudentCard.java


class DigitalStudentCard{
  //Schülernummer
  int num;

  //Name
  String name;

  //Konstrukteur
  DigitalStudentCard(int num, String name){
    //Argument num zu Instanznummer(this.num)Ersatz für
    this.num = num;

    //Ebenfalls
    this.name = name;
  }

  DigitalStudentCard(){
    //Part.Machen Sie es möglich, es auf die gleiche Weise wie 1 zu verwenden.
  }

  //Methode für die Ausgabe (Selbsteinführung erhalten)
  String getSelfIntroduction(){
    return "Schülernummer: " + num + "Name: " + name);
  }
}

nächstes Mal

Als nächstes wollen wir auf Modifikatoren zugreifen! Weiter → Teil.3 Zugriff kontrollieren, um eingehende Werte zu begrenzen