this关键字是Java语言里一个比较灵活而又复杂的语法,这里和String一样,也单独罗列出来做一节.
this关键字的使用环境:
1. 可以调用本类中的方法.
这个方法可以使类里面的一般方法, 也可以使构造函数.
对于一般方法的调用,之前就已经碰到过了,比较熟悉,直接用this.function()即可.
对于在构造函数中使用this关键字有需要注意的地方.在构造函数中,使用this()语句(注意this后带括号)调用的是无参的构造函数.在构造函数中使用this()语句,this()语句必须放置在构造方法的首行, 且多个构造函数中必须至少留有一个入口,就是说至少要有一个未使用this()方法的构造函数.
这里举个例子:
class Person
{
	// 定义类"Person"的属性
	String name;
	int age;
	
	//定义构造函数
	public Person()
	{
		//this()语句必须放置在构造函数的首行,且多个构造函数必须留有一个入口
		this("张三",23);
		System.out.println("构造了一个新的对象!");
	}
	public Person(String name,int age)
	{
		//如果是由构造函数为属性赋值的话,最好也是使用getter和seter方法
		this.name = name;
		this.age = age;
	}
	
	public void print()
	{
		System.out.println("姓名是: "+name + ", 年龄是: "+age);
	}
}
public class OODemo03
{
	public static void main(String args[])
	{
		Person p = new Person();
		
		p.print();	
	}
}
2. 调用当前类中的属性
这个比第一种更常见,例如在上面的程序中, this.name = name; this.age = age 都是用过this关键字来调用当前类中的属性, 实例见上面代码中重载的构造函数.
3. 可以表示当前对象
其实在第二种"调用当前类中的属性"一块中, 我们就可以把this当做是在表示当前的对象. 用this表示当前对象,谁调用了这个方法,则this就表示谁.
class Person
{
	// 谁操作了这个方法,则this就表示是谁
	public void print()
	{
		System.out.println("this表示:"+this) ;
	}
}
public class Demo08
{
	public static void main(String args[])
	{
		Person p1 = new Person();
		Person p2 = new Person();
		p1.print() ;
		System.out.println(p1) ;
		System.out.println("-------------------------") ;
		p2.print() ;
		System.out.println(p2) ;
	}
}
          
常遇困境,说明你在进步! 
      
常有压力,说明你有目标! 
作者:notifier
    
出处:http://www.cnblogs.com/notifier/ 
   本文版权归作者notifier和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!   
       
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号