1.this关键字的定义:
this关键字的作用:
如果不用this关键字的话:在name = name时,他是赋值给形参(就近赋值),这个时候加上this关键字,idea就知道你是赋值给当前对象的name
this出现在成员方法中的用法:
package com.itheima.thisdemo;/*目标:理解thisthis表示当前对象的地址*/public class Test {public static void main(String[] args) {//创建汽车对象(先有类,然后有对象--new出来)Car c = new Car();// com.itheima.thisdemo.Car@404b9385c.run();// com.itheima.thisdemo.Car@404b9385// 输出对象的地址com.itheima.thisdemo.Car@404b9385System.out.println(c);System.out.println("----------------");Car c1 = new Car("奔驰",18.8);System.out.println(c1.name);System.out.println(c1.price);c1.gowith("宝马");}}// 这是一个新的的Car类package com.itheima.thisdemo;public class Car {String name;double price;/*无参构造器*/public Car(){System.out.println("无参数构造器中的this:" + this);}/*有参构造器*/// public Car(String n,double p) 像这种定义形参会被嫌弃(要做到见面知意)public Car(String name,double price){// 不写this会被赋值给形参(就近赋值)this.name = name;this.price = price; // 用this关键字可以让idea知道左边的price是当前对象成员的price}// this在对象方法的用法public void gowith(String name){// System.out.println(name + "正在和" + name + "一起比赛"); // 如果不写this都会输出传入值得nameSystem.out.println(this.name + "正在和" + name + "一起比赛");}public void run(){System.out.println("方法中的this:" + this);}}
