存在问题:
public class Main {public static void main(String[] args) {Dog dog = new Dog("小黑",12);dog.dy();}}class Dog{String name;int age;//构造器的形参直接写成属性名//根据变量的作用域原则//构造器的name是局部变量,而不是属性//构造器的age是局部变量,而不是属性//解决方法=》this关键字public Dog(String name, int age){//构造器name = name;age = age;}public void dy(){System.out.println(name + " " + age);}}
简介:
java虚拟机会给每个对象分配this,代表当前对象。
this解决重名问题。
解决问题:
public class Main {public static void main(String[] args) {Dog dog = new Dog("小黑",12);dog.dy();}}class Dog{String name;int age;//构造器的形参直接写成属性名//根据变量的作用域原则//构造器的name是局部变量,而不是属性//构造器的age是局部变量,而不是属性//解决方法=》thispublic Dog(String name, int age){//构造器//this.name就是当前对象的属性namethis.name = name;//this.age就是当前对象的属性agethis.age = age;}public void dy(){System.out.println(name + " " + age);}}
小结:
哪个对象调用,this就指向哪个对象。
