Java小白入门200例70之 this关键字详解

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例70之 this关键字详解相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  69.构造方法详解
►下一篇  71.Java创建对象

概述

this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。

序号类型
1属性
2方法
3构造

属性

当传入的参数与属性名相同时,加入this用来区分,如下实例:

package demo.demo70;

/*
 * 学生类
 */
public class Student {
	
	private String name;// 名字
	private int age;// 年龄
	private char sex;// 性别
	
	public Student(String name,int age,char sex) {
		this.name=name;
		this.age=age;
		this.sex=sex;
	}
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

//main方法
public static void main(String[] args) {
	Student student  = new Student("王小妹",18,'女');
	
	System.out.println("姓名:" + student.getName() + "\\n性别:" + student.getSex() + "\\n年龄:" + student.getAge());
}
}


从上图可以看到,传入的参数名与属性名,是一样的,this.name 表示取到的是 属性的name,其他同理。如果把this删除,则程序不能得到正确的结果。

方法

加入 eat sleep 两个方法,并依次调用

package demo.demo70;

/*
 * 学生类
 */
public class Student2 {

	private String name;// 名字
	private int age;// 年龄
	private char sex;// 性别

	public Student2(String name, int age, char sex) {
		this.name = name;
		this.age = age;
		this.sex = sex;
	}

	public void eat() {
		System.out.println(name +"吃饭");
	}

	public void sleep() {
		System.out.println(name +"睡觉");
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	// main方法
	public static void main(String[] args) {
		Student2 student = new Student2("王小妹", 18, '女');
		student.eat();
		student.sleep();
	}
}

运行结果:

王小妹吃饭
王小妹睡觉

如果我想吃饭的时候,调用睡觉方法,行不行呢?这个时候加入this.sleep(),就可以直接调用了,当然这个this可以省略,因为Java 允许对象的一个成员直接调用另一个成员。

public void eat() {
	System.out.println(name +"吃饭");
	this.sleep();
}

构造

用this() 的方式来调用构造方法

package demo.demo70;

public class Student {
	  String name;
	    // 无参构造方法(没有参数的构造方法)
	    public Student() {
	        this("王小妹");
	    }
	    // 有参构造方法
	    public Student(String name) {
	    	System.out.println("有参构造被调用");
	        this.name = name;
	    }
	    // 输出name
	    public void print() {
	        System.out.println("姓名:" + name);
	    }
	    public static void main(String[] args) {
	        Student student = new Student();
	        student.print();
	    }
}

运行结果:

有参构造被调用
姓名:王小妹

注意点:

  1. this() 不能在普通方法中使用,只能写在构造方法中。
  2. 在构造方法中使用时,必须是第一条语句。

小结

这节总结了“ this关键字详解 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  69.构造方法详解
►下一篇  71.Java创建对象

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

以上是关于Java小白入门200例70之 this关键字详解的主要内容,如果未能解决你的问题,请参考以下文章

Java小白入门200例109之Java Map集合详解

Java小白入门200例111之Collections类操作集合详解

Java小白入门200例69之构造方法详解

Java小白入门200例45之 for 语句详解

Java小白入门200例48之 continue语句详解

Java小白入门200例47之 break语句详解