Ich wollte Konstruktoren studieren, also googelte ich (Guguru: bedeutet "Suche bei Google", auch wenn es nicht Google ist) und zog den Code.
ctest7.java
class ctest7{
public static void main(String args[]){
Television tv1 = new Television();
tv1.dispChannel();
}
}
class Television{
private int channelNo;
private String housouKyoku;
public void setChannel(int newChannelNo){
channelNo = newChannelNo;
if (channelNo == 1){
housouKyoku = "FujiTV";
}else if (channelNo == 3){
housouKyoku = "NHK";
}
}
public void dispChannel(){
System.out.println("Der aktuelle Kanal ist" + housouKyoku + "ist");
}
}
Wenn Sie dies kompilieren und ausführen, "Aktueller Kanal ist null" Wird angezeigt. HousouKyoku wird nicht gespeichert und ist null.
Wenn Sie dies beheben, erhalten Sie anscheinend den folgenden Code.
java.ctest8.java
class ctest8{
public static void main(String args[]){
Television tv1 = new Television();
tv1.dispChannel();
}
}
class Television{
private int channelNo;
private String housouKyoku;
Television(){
channelNo = 1;
housouKyoku = "FujiTV";
}
public void setChannel(int newChannelNo){
channelNo = newChannelNo;
if (channelNo == 1){
housouKyoku = "FujiTV";
}else if (channelNo == 3){
housouKyoku = "NHK";
}
}
public void dispChannel(){
System.out.println("Der aktuelle Kanal ist" + housouKyoku + "ist");
}
}
Im ursprünglichen ctest7.java-Code
Television(){
channelNo = 1;
housouKyoku = "FujiTV";
}
Hinzugefügt.
Nun, das ist Initialisierung. Es gibt eine Theorie, aber wenn es keinen Inhalt als Anfangswert gibt, funktioniert die Operation nicht. Deshalb müssen Sie den Anfangswert einstellen. Sie können es direkt in eine Methode schreiben und bei jedem Aufruf überschreiben. Dies ist jedoch nicht geeignet, um große Codemengen gemeinsam zu nutzen.
Hmm.
[Referenz] "Was ist eine Konstruktor-Konstruktor-Einführung in die Java-Let's-Programmierung?" https://www.javadrive.jp/start/constructor/index1.html
Recommended Posts