java this关键字

this是java里面的一个关键字,是一种引用类型,在堆(heap)中的每个java对象上都有一个this指向自己。this代表着当前对象的引用

this作用

1.可以区分成员变量和局部变量。(这个在前面说过)

2.可以调用构造方法

语法:this(实参);
注意:如果要是使用this调用构造方法的话,那么this必须出现在构造方法的第一行

如下:

//假设在创建长方形的时候,默认长宽分别是3,2,可以通过在无参构造器中调用有参构造器直接赋值
class Rectangle2{
	private  int width;
	private int  length;
	// 构造方法,无参
	public Rectangle2() {
		this(3,2);//this()必须出现在构造方法的第一行
                Rectangle2(3,2);//构造方法不能这样调用,报错
	}
	//构造方法,有参
	public Rectangle2(int length,int width) {
		this.length=length;
		this.width=width;
	}
	//计算长方形的周长
	public int getLengthOfRectangle() {
	 return 2*(this.width+this.length);
	}
	//计算面积
	public int getArea() {
		return this.length*this.width;
	}
        //还可以使用this.方法名的方式调用当前对象的方法
        //下面两种方式都可以调用到成员方法getArea方法
        //计算三倍面积
	public void get3Area() {
		System.out.println(3*getArea());
		System.out.println(3*this.getArea());
		
	}
	public int getWidth() {
		return width;
	}
	public void setWidth(int width) {
		this.width = width;
	}
	public int getLength() {
		return length;
	}
	public void setLength(int length) {
		this.length = length;
	}	
}

采用this后的成员变量:

public class thistest {
    private String name;
    private int age;
    public void printName() {
    	String name="张学友";
    	System.out.println(name);//这里打印局部变量name的值,因为这个name离它最近
    	System.out.println(this.name);//使用this关键字,打印的是成员变量
    }
    public void printName2() {
		System.out.println(name);//这里打印的是成员变量name的值
	}
    public static void main(String[] args) {
		thistest tt =new thistest();
		tt.setName("Xiaoli");
		tt.printName();
		tt.printName2();
	}
    //get set方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
out:
张学友
Xiaoli
Xiaoli

局部变量和成员变量的标识符是可以相同的,如果有相同的标识符,则可以通过this调用成员变量.

参考:http://www.monkey1024.com/javase/292

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值