【Java this关键字】如何使用以及注意点 访问成员变量,访问成员方法,构造方法内调用构造方法

news2025/1/9 18:41:03

在这里插入图片描述

欢迎收看本篇文章
介绍 Java this 关键字的使用以及某些注意点
欢迎oomsday点踩,欢迎其他人点赞 😋

Java this关键字

  • ⭐ this 关键字的作用
  • ⭐ this 注意点
  • ⭐ this 用法
    • 访问成员变量
    • 访问成员方法
    • 在构造方法内调用构造方法

⭐ this 关键字的作用

Java 中,this指针是一个 关键字 ,它用于引用当前对象🤲。当方法的参数和对象的字段具有相同的名称时,this关键字可以用于 标识 哪个变量是指对象的字段,哪个是方法的参数

📃 具体来说,当使用this时,它指的是当前对象的引用。

⭐ this 注意点

this 在 Java 中并不是指针的意思
this在这里只是一个简单的指向作用,谁调用它,就指向谁

一般来说 Java 程序中 如果方法的参数与类成员变量重名,希望在方法内部调用成员变量,怎么办呢,这时候就要使用this关键字,若方法参数不与当前类成员变量重名时,则可以省略 this ,不过为了增强代码可读性,建议方法参数与被调用多个成员变量名称相同,即使用 this 。

⭐ this 用法

⭐ Java 中的 this 必须放在非静态方法内, this 代表自身, 在 Java 程序内用法主要有以下几种用法

1. 访问成员变量
this.data;
2. 访问成员方法
this.function();
3. 使用this在构造方法内引用其它构造方法
this();

访问成员变量

public class DefaultClass {
	String name;
	int age;
	String address;

	// 构造方法
	public DefaultClass(String name, int age, String address) { // java构造方法:给重要属性赋初始值
		this.name = name;
		this.age = age;
		this.address = address;
	}
	// get方法
	public String getName() {
 		return this.name;
	}
	// set方法
	public void setName(String name) {
		this.name = name;
	}
}

访问成员方法

public class DefaultClass {
	// 方法1
	public void default1() {
 		System.out.println("我是方法1");
	}
	// 方法2
	public void default2() {
		// this访问方法1
		this.default1();
		// 这里的this可省略,效果一样
		// Default1(); 
	}
}

在构造方法内调用构造方法

public class DefaultClass {
	String name;

	// 无参构造器
	public DefaultClass() {
		System.out.println("我是无参构造器");
	}
	// 有参数的构造方法
	public DefaultClass(String names) {
		// 调用无参构造fangfa
		this();
		this.name = name;
		System.out.println("我是有参数构造器");
	}
	// get方法
	public String getName() {
 		System.out.println("姓名为:", name);
	}

	// 程序入口函数
	public static void main(String[] args) {
		// 类实例化
		DefaultClass d = new DefaultClass();
		d.DefaultClass("dongfang_project");
		d.getName();
	}
}

不出意外的话程序输出

我是无参构造器
我是有参数构造器
姓名为:dongfang_project

注意: 只能在构造方法中使用this()调用其他的构造方法,在构造方法中使用this()调用构造方法的语句必须位于当前构造函数的第一行,只能出现一次, 不能在一个类中的两个构造方法中使用this()互相调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/558913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C10K-C10M进阶(高并发的真正理解)

1、一台计算机可以连接的TCP受什么限制? 能打开文件描述符的限制。默认是1024,可以修改。 端口号的限制,65535,因为TCP头部16位的端口号,其中1024以上可以用。如果是客户端,最多可以打开6万多的文件。如果是…

车载测试之车联网OTA安全实践

在SDV的大趋势下,汽车零部件智能化水平不断提高,车辆内部搭载的软件也越来越多。毫无疑问,车辆复杂度的提高必将带来维护上的困难,车企要如何面对更新迭代速度越来越快的软件、固件系统?OTA(over the air&a…

论文笔记: Trajectory Clustering: A Partition-and-Group Framework

07 Sigmoid 使用类DBSCAN的思路对轨迹聚类 1 intro 1.1 轨迹聚类 现有的轨迹聚类算法是将相似的轨迹作为一个整体进行聚类,从而发现共同的轨迹。 但是这样容易错过一些共同的子轨迹(sub-trajectories)。而在实际中,当我们对特…

运行 100 万个并发任务需要多少内存?

在这篇博文中,我深入研究了 Rust、Go、Java、C#、Python、Node.js 和 Elixir 等流行语言在异步和多线程编程之间的内存消耗比较。 前段时间,我不得不比较一些旨在处理大量网络连接的计算机程序的性能。我看到这些程序的内存消耗存在巨大差异&#xff0c…

【Atlas200】华为AIPP配置文件使用

目录 AIPP介绍图像处理顺序例子:YUV420SP_U8转BGR格式归一化配置对应公式crop及padding功能配置生效AIPP转换模板 AIPP介绍 华为的AIPP(AI Preprocessing)是一种面向AI应用的图像预处理技术,旨在提高AI应用的效率和精度。AIPP支持…

C语言深度解析--数组

目录 一维数组的创建与初始化 一维数组的创建: 一维数组的初始化: 一维数组的使用: 一维数组在内存中的存储: 二维数组的创建与初始化 二维数组的创建: 二维数组的初始化: 二维数组的使用&#xf…

是面试官放水,还是公司太缺人了?华为原来这么容易就进了...

华为是大企业,是不是很难进去啊?” “在华为做软件测试,能得到很好的发展吗? 一进去就有9.5K,其实也没有想的那么难” 直到现在,心情都还是无比激动! 本人211非科班,之前在字节和腾…

以“智”提质丨信创呼叫

随着人工智能、大数据、云计算等新兴技术飞速发展,呼叫中心、全媒体智能客服等现已被广泛应用于多个行业领域。其中,呼叫中心作为政企对外服务的重要窗口,已从“传统电话营销”发展到“智能呼叫中心”阶段,以客户服务为核心&#…

Windows下Elasticsearch下载安装

Windows下Elasticsearch下载安装 最近搭一个语义搜索web需要用到es。 1.下载 下载地址:官网下载地址 下载zip格式解压就行,这里我下载的是8.7.1 1.1解压启动 解压之后,进入elasticsearch的bin目录,通过点击elasticsearch.ba…

0基础学习VR全景平台篇第28章:场景管理—遮罩功能

本期为大家带来蛙色VR平台,场景管理模块-遮罩功能! 功能位置示意 一、本功能将用在哪里? 遮罩分为两种,分别是地面遮罩和天空遮罩。 地面遮罩位于全景图底部的正中间,天空遮罩位于全景图顶部的正中间。 遮罩一方面可…

已解决python使用pymysql向mysql数据库插入数据报错pymysql.err.DataError: (1366, ‘‘)

已解决,在python代码是使用pymysql向mysql数据库插入数据时报错pymysql.err.DataError: (1366, ) 问题描述 我从某个网页上抓取并解析了一段html代码,然后将html代码转为utf-8格式,之后将html代码作为数据表的一个属性存入mysql数据库中&…

代码签名证书,保护应用程序安全性

在现代IT环境中,有大量不同的方式可以用来确保应用程序的安全性。其中一个就是从源头开始,让应用程序开发者能够对他们的代码进行数字签名,从而确保给定应用程序的完整性和真实性。 一直以来,认证机构安理会(CASC&…

2023年必备的10款交互设计软件

交互设计可以帮助明确产品需求和功能、进行用户测试和获取反馈、减少开发成本、促进团队合作,并在展示和推销产品时起到关键作用。通过有效的产品交互设计,可以提高产品的质量、用户体验和市场竞争力。 什么是产品交互设计? 产品交互设计是…

Linux查看磁盘利用率(iostat)

使用iostat命令可以查看磁盘的负载情况。iostat命令可以显示磁盘的I/O统计信息,包括磁盘的读写速度、I/O请求队列长度、CPU利用率等。 参数 Device:磁盘分区的名称。rrqm/s:每秒钟合并的读请求。wrqm/s:每秒钟合并的写请求。r/s…

11-FastDFS文件服务器 和 Nginx

1、什么是FastDFS 1、开源的轻量级分布式文件系统,用于解决大数据量存储和负载均衡等问题。 2、优点: 支持HTTP协议传输文件(结合Nginx); 对文件内容做Hash处理,节约磁盘空间; 支持负载均衡、整体性能较佳。 3、FastDFS的二个角色:跟踪服务器(Tracker)、存储服务器…

StringBuffer与StringBuilder的区别

🏆今日学习目标: 🍀StringBuffer与StringBuilder的区别 ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你…

档案馆库房温湿度监控系统简单介绍

智慧档案馆八防一体化监控系统 智慧档案平台/温湿度/空气质量/漏水/视频/门禁/一体化管控平台 HONSOR多维空间可视化智慧档案库房建设一体化平台分享 三维可视化智慧档案馆库房一体化环境安全管控系统平台 1.系统告警要求: (1)告警方式&am…

[PCIE733]基于PCI Express总线架构的2路160MSPS AD采集、12路LVDS图像数据采集卡

板卡概述 PCIE733是一款基于PCI Express总线架构的,实现2路16-bit、160MSPS ADC采集功能、12路LVDS数据采集板卡。该板卡遵循PCI Express 2.0规范,全高半长尺寸,板卡采用Xilinx的28nm高性能FPGA处理器XC7K325T作为主控制器,板卡AD…

【dfs序+线段树】P3178 [HAOI2015]树上操作

这道题,昨天调到一点多都没调出来,眼睛都要瞎了 今天看着题解边看边调出来了,但是还是感觉不是很会 m d,学的第一道关于树的DS就搞成这样 感觉很寄啊 P3178 [HAOI2015]树上操作 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)…

事务、分布式事务以及seata

事务 事务就是用户定义的一系列数据库操作,这些操作可以视为一个完成的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元。 事务的四个特效ACID Atomic 原子性,原子性是指事务必须是一个原子的操…