パラメータは宣言された変数名と同じです.
1375 ワード
まずコードを見て
結果を表示:
stundentクラスのメンバー変数またはメソッド名を使用していません:康小月成績:B名前:康小愛成績:A名前:康暁偉成績:C名前:許雨柔成績:A
メソッドのパラメータの名前を宣言した変数の名前と同じに変更すると
すなわち
結果が表示されます.
stundentクラスのメンバー変数またはメソッド名を使用していません:康小月成績:B名前:康小月成績:B名前:康暁偉成績:C名前:許雨柔成績:A
結論:
クラスにメソッドを書く場合、パラメータリストの名前と宣言された変数の名前が同じである場合、クラスが生成したオブジェクトがこのメソッドを呼び出し、新しいパラメータを入力します.この場合、メソッドはクラスで宣言された同名の変数を優先的に読み取り、オブジェクト呼び出しメソッドはどのパラメータを入力してもクラスの変数を表示します.
public class CH05_01 {
public static void main(String[] args){
System.out.println(" stundent ");
Student s1=new Student();
Student s2=new Student();
Student s3;
s3=new Student();
s1.show();
s2.setdata(" ", "A");
s2.show();
s3.name=" ";
s3.score="C";
s3.show();
Student.name=" ";
Student.score="A";
Student.show();
}
}
class Student{
public Student(){
name=" ";
score="B";
}
public static String name;
public static String score;
public static void show(){
System.out.println(" :"+name);
System.out.println(" :"+score);
}
public static void setdata(String name1,String score1){
name=name1;
score=score1;
}
}
結果を表示:
stundentクラスのメンバー変数またはメソッド名を使用していません:康小月成績:B名前:康小愛成績:A名前:康暁偉成績:C名前:許雨柔成績:A
メソッドのパラメータの名前を宣言した変数の名前と同じに変更すると
すなわち
public static void setdata(String name,String score){
name=name;
score=score;
}
結果が表示されます.
stundentクラスのメンバー変数またはメソッド名を使用していません:康小月成績:B名前:康小月成績:B名前:康暁偉成績:C名前:許雨柔成績:A
結論:
クラスにメソッドを書く場合、パラメータリストの名前と宣言された変数の名前が同じである場合、クラスが生成したオブジェクトがこのメソッドを呼び出し、新しいパラメータを入力します.この場合、メソッドはクラスで宣言された同名の変数を優先的に読み取り、オブジェクト呼び出しメソッドはどのパラメータを入力してもクラスの変数を表示します.