java编程思想练习题-第5章练习8-this实现细节详解
程序员文章站
2022-07-12 16:34:40
...
题目:编写具有两个方法的类,在第一个方法内调用第二个方法两次:第一次调用不使用this关键字,第二次使用this关键字(验证this关键字起作用)
分析:为什么可以使用this关键字呢?那是因为编译器的“暗箱操作”,举例来说:
假设我们有Banana这样一个类,里面有peel这样一个方法,我们这样创建实例并且使用它。
Banana a=new Banana();
a.peel(1);
但是编译器真实的做了什么呢?
Banana.peel(a,1);
它暗自把操作对象的引用作为第一个参数传给了方法peel。并且设了一个专门的关键字this,用this表示调用这个方法的那个对象。
但是需要注意的是如果在方法内部调用同一个类的另一个方法,不需要使用this直接调用即可。
我们在构造器里面经常发现这样的代码
this.test=test;
那是因为构造器参数和类的域重名了,必须使用this来告诉编译器使用的是哪一个。
上一篇: UVA - 1584 Circular Sequence
下一篇: sort();对结构体数组的排序