动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

学习java中this关键字的使用

07-03 17:36 211浏览
举报 T字号
  • 大字
  • 中字
  • 小字

在前面我们一起学习了java中类和对象的很多相关知识,今天来继续学习。想必很多java零基础的新手小白通过看书和看java培训课程的时候都有接触到this关键字的知识,今天下面要讲的内容就是java中this关键字的相关知识,大家一起来学习吧。

This就java语言众多关键字中的一个关键字,this关键字表示当前这个对象,也就是说当前谁调用该方法则这个对象就是谁每个对象都可以使用关键字this访问其自身的引用this引用可以隐式的或显示的调用该方法的对象的实例变量和其他方法this的参考名称并不属于实体变量事实上在调用本对象方法时,this当成一个隐形的参数传给这个方法

This关键字主要有三个应用:一是this关键字可以访问本类中的实例变量,当局部变量和成员变量同名时,如果访问成员变量则必须使用this;二是this关键字可以访问本类中的实例方法;三是this关键字可以访问本类中的其他构造方法,则使用this([参数列表]),这里需要注意,使用this访问本类中的构造方法时,只能编写在构造方法中并且是第一条语句this关键字访问构造方法时,不能出现递归调用

This关键字可以作为参数传递,当要把自己作为参数传递给别的对象时,也可以用this。如:

public class A{
public A(){
    new B(this).print();
}
public void print(){
      System.out.println("From A!");
 }
public static void main(String[] args) {
      new A();
   }
} 
public class B{
   A a;
   public B(A a){
      this.a = a;
   }
   public void print(){
      a.print();
      System.out.println("From B!");
   }
}

运行结果:From A!

                   From B!

This关键字还有另外一种用法,使用在构造方法第一行(只能出现在第一行),通过当前构造方法调用本类当中其它的构造方法,其目的是为了代码复用。调用时的语法格式是:this(实际参数列表),请看以下代码:

public class Date {
	private int year;
	private int month;
	private int day;
	//业务要求,默认创建的日期为1970年1月1日
	public Date(){
		this.year = 1970;
		this.month = 1;
		this.day = 1;
	}
	public Date(int year,int month,int day){
		this.year = year;
		this.month = month;
		this.day = day;
	}
	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 class DateTest {
	public static void main(String[] args) {
		Date d1 = new Date();
		System.out.println(d1.getYear() + "年" + d1.getMonth() + "月" + d1.getDay() + "日");
		Date d2 = new Date(2008 , 8, 8);
		System.out.println(d2.getYear() + "年" + d2.getMonth() + "月" + d2.getDay() + "日");
	}
}

运行结果为:

1970年1月1日

2008年8月8日

希望大家可以通过上面对this关键字的介绍和概念的解读,可以在写程序的过程中熟练操作使用this关键字。

最后需要强调一点:静态成员不能直接访问非静态成员,即static修饰的方法不能访问不适用static修饰的普通方法。对于static修饰的方法而言,可以使用类直接调用该方法,如果在static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象。所以,static修饰的方法中不能使用this引用。上面就是java中this关键字的相关知识。

0人推荐
共同学习,写下你的评论
0条评论
摩一摩
程序员摩一摩

5篇文章贡献24633字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消