①this修饰的变量是成员变量,
在方法中没有使用this指向的name就是 局部变量
②由于局部变量没有和成员变量名命冲突所以这里的name是成员变量
package day7; class Student1 { private String name; //这里的name是成员变量 private int age; /* public void setNAme (String n){ name = n } */ /*public void setName (String name){ name = name; // 输出null }*/ public void setName(String name){// 这个name是局部变量 this.name = name; // 要将局部变量赋值给成员变量是赋值不了的会输出null,那为什么不写成name = n;是为了名命,用this使用的就是成员变量,不使用的话就是局部变量 } public String getName(){ return name; } public void setAge(int a){ age = a; } public int getAge(){ return age; } public void show(){ System.out.println(name + "," + age); } } class StudentDemo2{ public static void main(String[] args){ Student1 s = new Student1(); s.setName("小张"); s.setAge(301); s.show(); } }