Je voulais étudier les constructeurs, alors j'ai cherché sur Google (Guguru: signifie "rechercher sur Google", même si ce n'est pas Google) et j'ai extrait le 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("La chaîne actuelle est" + housouKyoku + "est");
}
}
Si vous compilez et exécutez ceci, "La chaîne actuelle est nulle" Est affiché. housouKyoku n'est pas stocké et est nul.
Il semble que si vous corrigez cela, vous obtiendrez le code suivant.
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("La chaîne actuelle est" + housouKyoku + "est");
}
}
Dans le code d'origine ctest7.java
Television(){
channelNo = 1;
housouKyoku = "FujiTV";
}
Est ajouté.
Eh bien, c'est ça l'initialisation. Il existe une théorie, mais s'il n'y a pas de contenu comme valeur initiale, l'opération ne fonctionnera pas. C'est pourquoi vous devez définir la valeur initiale. Vous pouvez l'écrire directement dans la méthode et l'écraser à chaque fois que vous l'appelez, mais cela ne convient pas pour partager de grandes quantités de code.
Hmm.
[référence] "Qu'est-ce qu'un constructeur-constructeur-Introduction à la programmation Java-Let's" https://www.javadrive.jp/start/constructor/index1.html
Recommended Posts