初始化与清理复习笔记-this关键字

this关键字引入

先看一段代码

package java_test2;
/*
 * 2019/7/24
 * this关键字相关测试
 * */
class Banana{
	void peel(int i) {
		//do something
	}
}
public class BananaPeel {
	public static void main(String[] args) {
		Banana a=new Banana(),
			   b=new Banana();
		a.peel(1);
		b.peel(2);
		}
}

peel方法是怎么知道剥的哪一个香蕉的皮呢?实际上编译器暗自做了一些工作,它吧“所操作对象的引用”作为参数传递给了peel()方法。让上述两个方法变成了这样

Banana.peel(a,1);
Banana.peel(b,2);

所以如果我们想在方法内部获得当前对象的引用,但是我们直到程序执行才知道这个引用的标识符怎么办呢,这时候就要使用this关键字,this关键字:this关键字只能在方法内部使用,表示对"调用方法的那个对象"的引用。
上述代码又变成了这样

Banana.peel(this,1);
Banana.peel(this,2);

在构造器中调用构造器

说白了就是this.s=s;

static的含义

注意下面几点就行了

  • 在static方法中只能调用static方法。
  • static方法具有全局函数的语义,有些人认为他不是“面相对象”的。