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方法具有全局函数的语义,有些人认为他不是“面相对象”的。