this与static

2017-07-02  本文已影响3人  TYcom

this关键字是一个比较难理解的点,以下总结下this关键的功能与作用:

1.一个对象 调用其他方法,会产生一个指向该对象的一个引用,由编译器悄悄的作为调用方法的第一个参数传递给方法。在方法里面,通过this关键字引用该对象;

引用thinking in java 中的一个例子:

classBanana {

    void f(int i){

          。。。。。。

    }

Banana a =newBanana();

Banana b=newBanana();

a.f(1);

b.f(1);

java如何区分是对象a调用还是对象b调用方法f(int i):

      java虚拟机做了幕后操作:a.f(1)---->a.f(a,1);

            b.f(1)----->b.f(b,1);在方法内部使用this代表当前对象a或者b;

2.第1点的一个很有用的地方是,在方法结束部分使用return this;返回调用方法的当前对象,从而实现对同一个对象的多次相同操作。


3.在构造器中调用同一个类中的其它构造器

该点与this关键字代表当前对象,没有一点关联。给this关键字加上参数列表,就明确的代表同一类中的其他某个确定的构造器;

注意点:在一个构造其中只能用this调用一个其他的构造器;用this调用其他构造器的代码只能放在构造器内代码的第一行;不能出现构造器的递归调用(死循环);

4.static方法中不能出现this关键字;

static关键字功能作用:

        static修饰的属性或方法,代表有全局的意思,只要虚拟机加载完类,类中的static修饰的属性或方法就可以通过类名打点使用,如:Fruit.name

class Fruit{

          public static String name = "Banana";

}

上一篇下一篇

猜你喜欢

热点阅读