Guten Abend. Nochmal. Es ist 3 Tage her, seit ich angefangen habe, den Artikel zu schreiben. Ich werde heute auch mein Bestes geben.
Heute werde ich über die Kapselung schreiben. Die Kapselung dient dazu, die Schnittstelle für den Zugriff auf die erstellte Klasse zu verdeutlichen. Der Umfang der Einkapselung und die Spezifikationsmethode sind unten gezeigt. Eine sehr leicht verständliche Tabelle ist in den Referenzen enthalten, daher werde ich diese verwenden.
Name | Wie im Programm angeben | Zugriffsbereich |
---|---|---|
private | private | Nur meine eigene Klasse |
package private | Schreibe nichts | Klassen, die zum selben Paket gehören wie Sie |
protected | protected | Untergeordnete Klassen, die zum selben Paket gehören wie Sie oder von Ihnen erben |
public | public | Alle Klassen |
Ich glaube, ich habe beim Schreiben der Hauptmethode immer öffentlich gesagt, aber dies verwendet die Kapselung. Die Hauptmethode ist eine Methode, die aufgerufen wird, wenn das Programm ausgeführt wird. Wenn Sie diesen Teil also privat machen, tritt ein Fehler auf und er wird nicht ausgeführt.
Lassen Sie uns nun die Statik anhand eines Beispiels erklären. Ich werde diesmal nicht auf geschützt eingehen, da ich es schreiben werde, wenn ich die Vererbung erkläre.
Num.java
public class Num{
static int a = 10;
}
Wenn Sie zu diesem Zeitpunkt versuchen, das privat definierte Feld mit der Hauptmethode einer anderen Klasse aufzurufen, tritt ein Fehler auf, der nicht ausgeführt wird. Dafür werden wir Methoden namens Getter und Setter erstellen.
Num.java
public class Calc{
static int a = 10;
public int getA(){
return this.a;
}
public void setA(int a){
this.a = a;
}
}
Mit dieser Getter- und Setter-Methode können Sie die Werte der Felder a und b der Klasse calc aufrufen und schreiben.
Wenn Sie es leid sind, alles öffentlich zu machen, wird der Wert des Feldes an einer wirklich unerwarteten Stelle neu geschrieben und es tritt kein Fehler auf. Ich denke, es ist besser, wenn möglich privat für das Feld zu verwenden. Gleichzeitig halte ich es für besser, dies zu den in der Klasse definierten Feldern hinzuzufügen, um zwischen den Argumenten der Methode und den in der Klasse definierten Variablen zu unterscheiden.
Ich hatte heute ein Apathiesyndrom und tat nichts. Um ehrlich zu sein, habe ich mir Sorgen gemacht, einen Artikel zu schreiben. .. .. Es tut mir leid, dass der Betrag gering ist, da ich nicht ausgeben kann, weil keine Eingabe erfolgt. .. .. Ich konnte es jedoch schreiben, als ich begeistert war, also werde ich weiterhin mein Bestes geben, um in diesem Zustand zu schreiben. Das nächste Mal werden mich meine Junioren nach meinen Fortschritten fragen, also werde ich über Vue.js schreiben, das ich kürzlich zu studieren begonnen habe. Ich werde mein Bestes tun, um es zu schreiben, damit auch diejenigen, die Vue.js nicht kennen, es verstehen können. Ich würde mich freuen, wenn Sie in diesem Artikel auf Fehler oder Unterschiede in den Ausdrücken hinweisen könnten.
[Einführung in Java 2nd Edition (Aktualisierungsserie)](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA % E3% 82% 8F% E3% 81% 8B% E3% 82% 8BJava% E5% 85% A5% E9% 96% 80-% E7% AC% AC2% E7% 89% 88-% E3% 82% B9 % E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-% E4% B8% AD% E5% B1% B1-% E6% B8% 85% E5% 96% AC / dp / 484433638X / ref = zg_bs_515820_1? _Encoding = UTF8 & psc = 1 & refRID = JGCC33P1VGV3V5VKQGQR)
Recommended Posts