Java中的this关键字

一、this关键字

1、概念
  • this是Java中一个关键字,翻译为“这个”。
  • this代表当前对象
  • this中保存的内存地址指向对象自身,this存储在JVM堆内存的Java对象内部。
  • this在多数情况下可省略不写,但有些情况下不能省略不写。

2、作用

① 用在实例方法中,代表当前对象,语法格式:【this.】


② 用在【构造方法】中,通过当前的构造方法去调用其他的构造方法,语法格式:【this(实参);】

扩展:
Java构造方法【Constructor】

package javaBasis;

public class Datetime {
	// 属性私有化
	private int year;
	private int month;
	private int day;
	private int hour;
	private int minute;
	
	// 构造方法
	// 无参构造方法
	// 需求:当程序员调用以下无参构造方法时,默认创建的日期时间是2000年1月5日10时30分,
	public Datetime() {
		/*
		this.year = 2000;
		this.month = 1;
		this.day = 5;
		this.hour = 10;
		this.minute = 30;
		*/
		/*
		以上代码与有参构造方法有重复部分,可以通过调用下面的构造方法来完成
		但前提是不能创建新的对象,即 new Datetime(2000, 1, 5, 10, 30);是错误的。
		*/
		
		/* 需要采用this();的语法来完成构造方法的调用
		 * 这种方法不会创建新的java对象,但同时又可以达到调用其它的构造方法
		 * 注意:this();语句只能出现在构造方法的第一行。
		 */
		this(2000, 1, 5, 10, 30);
	}
	// 有参构造方法
	public Datetime(int year, int month, int day, int hour, int minute) {
		this.year = year;
		this.month = month;
		this.day = day;
		this.hour = hour;
		this.minute = minute;
	}

	// getter and setter
	public int getYear() {
		return year;
	}

	public void setYear(int year) {
		this.year = year;
	}

	public int getMonth() {
		return month;
	}

	public void setMonth(int month) {
		this.month = month;
	}

	public int getDay() {
		return day;
	}

	public void setDay(int day) {
		this.day = day;
	}

	public int getHour() {
		return hour;
	}

	public void setHour(int hour) {
		this.hour = hour;
	}

	public int getMinute() {
		return minute;
	}

	public void setMinute(int minute) {
		this.minute = minute;
	}
	
	// 实例方法
	// 对外提供一个可以将日期时间打印输出控制台的方法
	public void print() {
		System.out.println(this.year + "年" + this.month + "月" + this.day + "日" + this.hour + "时" + this.minute + "分");
	}
}
package javaBasis;

public class DatetimeTest {
	public static void main(String[] args) {
		// 创建日期时间对象1
		Datetime time1 = new Datetime();
		time1.print();
		
		// 创建日期时间对象2
		Datetime time2 = new Datetime(2000, 7, 26, 11, 45);
		time2.print();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值