[Java] Objektorientierte Syntaxklasse / Feld / Methode / Bereich

Klasse

Qualifikation

public

strictfp

Klassenstruktur

Feld

Person.java


//Name des Zeichenfolgentyps,Definition des Altersfelds vom Typ int
public class Person {
  public String name;
  public int age;
}

Main.java


public class Main {
  public String firstName;
  public String lastName;

  public static void main(String[] args) {
    //Mit neuem Bediener instanziieren
    var p1 = new Person();
    p1.name = "Yamada Taro";
    p1.age = 30;

    var p2 = new Person();
    p2.name = "Ichiro Suzuki";
    p2.age = 25;

    System.out.printf("%s(%d Jahre alt)\n", p1.name, p1.age); //Taro Yamada (30 Jahre alt)
    System.out.printf("%s(%d Jahre alt)\n", p2.name, p2.age); //Ichiro Suzuki (25 Jahre alt)
  }
}

Feldmodifikator

Feld Standard

Methode

Person.java


//Methodendefinition anzeigen
public class Person {
  public String name;
  public int age;

  public String show() {
    return String.format("%s(%d).", this.name, this.age);
    //return String.format("%s(%d).", name, age);
  }
}

MethodBasic.java


//p.Greifen Sie mit show auf die Show-Methode zu
public class MethodBasic {

  public static void main(String[] args) {
    var p = new Person();
    p.name = "Yamada Taro";
    p.age = 30;
    System.out.println(p.show());
  }
}

Methodenargument

//Tatsächliches Argument
getBmi(60,1.7)

//Formelles Argument
public double GetBmi {double weight, double height){
    return  weight / (height * height )
}

Rückgabewert der Methode

Person.java


public class Person {
  public String name;
  public int age;

  public void show() {
    System.out.printf("%s(%d).\n", this.name, this.age);
  }
}

MethodVoid.java


public class MethodVoid {

  public static void main(String[] args) {
    var p = new Person();
    p.name = "Yamada Taro";
    p.age = 30;
    p.show();
  }
}

Methodenmodifikator

this

Methodenüberladung

//Erwarten Sie je nach Typ eine optimale Überlastung
//Aber das Ergebnis ist
//Zeichenfolge: Der Frühling ist Akebono
//CharSequence: Sommer ist Nacht
//CharSequence: Abenddämmerung im Herbst
public class OverloadAnti {

  public void show(String value) {
    System.out.println("String: " + value);
  }

  public void show(StringBuilder builder) {
    System.out.println("StringBuilder:" + builder);
  }
  public void show (StringBuffer buf) {
    System.out.println("StringBuffer:" + buf);
  }
  public void show(CharSequence cs) {
    System.out.println("CharSequence:" + cs);
  }
}
public class OverloadAntiClient {

  public static void main(String[] args) {
    var c = new OverloadAnti();
    var list = new CharSequence[] {
        "Der Frühling ist Akebono",
        new StringBuilder("Sommer ist Nacht"),
        new StringBuffer("Der Herbst ist Abenddämmerung"),
    };

    for (var cs : list) {
      c.show(cs);
    }
  }
}

Umfang

Konflikt zwischen Feld und lokaler Variable

Scop.java


//Daten werden abgedeckt
public class Scope {
    //Daten als Feldvariable
  public String data = "Feld";

  public String show() {
    //Daten als lokale Variable
    //Wenn Sie dies deklarieren, werden vorübergehend Feldvariablen ausgeblendet, die für die gesamte Klasse gültig sein sollten
    var data = "lokal";
    return data;
    //Wenn Sie auf versteckte Feldvariablen zugreifen möchten
    // return this.data;
  }
}

ScopeBasic.java


public class ScopeBasic {

  public static void main(String[] args) {
    var s = new Scope();  
    //Lokale Variablen der show-Methode
    System.out.println(s.show()); //lokal
    //Lokale Variablen wirken sich nicht auf Feldvariablen aus
    System.out.println(s.data); //Feld
  }
}
//NG Beispiel: str1 ist ab der deklarierten Position gültig
public class ScopeStrict {
  String str2 = str1; //Str2 kann nicht vor str1 deklariert werden
  String str1 = “neko desu“;
}
public class ScopeStrict {
  public void show() {
    System.out.println(str); //neko desu
  }
  String str = “neko desu”;
}

StrictClient.java


public class StrictClient {
  public static void main(String[] args) {
    var s = new ScopeStrict();
    s.show();
  }
}

Bereich blockieren

public class ScopeBlock {
  public static void main(String[] args) {
    /*
    //Deklarieren Sie eine Blockbereichsvariable mit demselben Namen wie die lokale Variable
    var data = "Lokaler Bereich";
    {
      var data = "Bereich blockieren"; //Error
    }
    */

    {
      var data = "Bereich blockieren";
    }
    //Zu diesem Zeitpunkt wurde die Blockbereichsvariable zerstört
    var data = "Lokaler Bereich"; //OK
    System.out.println(data);
  }
}
//Paralleler Blockumfang
public class ScopeBlock {

  public static void main(String[] args) {
    {
      var data = "Bereich blockieren";
      System.out.println(data);
    }

    {
      var data = "Blockbereich 2";
      System.out.println(data);
    }
  }
}

Recommended Posts

[Java] Objektorientierte Syntaxklasse / Feld / Methode / Bereich
Java-Methode
Java (Methode)
[Java] Objektorientierte Syntaxklassenmethode / Argument
Java-Methode
[Java] -Methode
[Java] Objektorientiert
[Java] -Methode
[Java] Instanzmethode, Instanzfeld, Klassenmethode, Klassenfeld, Konstruktorzusammenfassung
Objektorientiertes FizzBuzz (Java)
[Java] Objektorientierte Zusammenfassung_Teil 1
Java8-Methodenreferenz
Java-Variablenbereich (Bereich)
[Java] Objektorientierte Syntax - Konstruktor
[Java] forEach-Methode
Objektorientierte (Java) Grundlagen
Java-Variablenbereich
[Java] Objektorientierte Zusammenfassung_Teil 2
Java-Sitzungsumfang
Java8-Methodenreferenz
[Java] Zufällige Methode
[Java] Split-Methode
[Java] Objektorientierte Syntax --Paket
[Anfänger] Java-Klassenfeldmethode / Kapselung (Getter-Setter) [Anmerkung 25]
JAVA DB-Verbindungsmethode
Java Learning 2 (Lernen Sie die Berechnungsmethode)
Java-Lernnotiz (Methode)
Informationen zur Bindung von Java-Methoden
Informationen zu Aufteilungsmethoden (Java)
Java 8 studieren (siehe Methode)
Feld für den Java-Klassentyp
Java-Programmierung (Klassenmethode)
[Java] Grundlegende Methodenhinweise
Einfache Möglichkeit, die Methoden- / Feldliste in Java REPL zu überprüfen
[Java] Neue Thread-Generierungsmethode (2)
Über die Entscheidungsbedingung der Java GC-Methode
Java Silver Lernmethode Memo
Erstellen Sie eine Java-Methode [Memo] [java11]
Objektorientiert mit Strike Gundam (Java)
Sammlung von Java-Testcode-Methoden
Objektorientierte Zusammenfassung von Anfängern (Java)
[Java Silver] Über gleich Methode
Memorandum über Java 3-Hauptelemente (objektorientiert)
[Java] Implementierungsmethode für die Timer-Verarbeitung
[Java] Zufällige Generierungsmethode (Zufällig)
Java-Methoden und Methodenüberladungen
Vorteile der statischen Java-Methode
[Java Silver] So generieren Sie ein Array
[Java] Neue Thread-Generierungsmethode (1)