Java this 关键字

news2024/11/15 11:03:12

**1.上节课学习了Java对象的定义和使用,我们知道了对象是存在堆内存中的,Java要求程序员不能直接操作堆内存,因此出现了引用的概念。引用的实质是一个存放对象地址局部变量

定义一个对象的语法:
**Student s1 = new Student();

s1是一个学生类的局部变量。

This关键字

    //this 本质上是一个引用。
    // this 中保存的也是对象的内存地址。
    // this 中保存的是当前对象的内存地址。
    this.实例变量名;
    this.实例方法();

this大多数情况下是可以省略的,当this应用在当前类中是可以省略的,但是当一个方法中局部变量与实例变量重名时,则用this.来区分实例变量与局部变量。如下代码块所示:

public void setSpeed(int speed){
        if (speed < 0) {
            System.out.println("速度不正确");
            return;
        }
        this.speed = speed;
    }

this在内存图中的位置示意图:
在这里插入图片描述

解说:this存放在实例方法的局部变量表的0号槽位,当调用实例方法,就会将引用的地址复制一份传给this,并固定的存放在0号槽位;

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

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

相关文章

1.Spring核心功能梳理

概述 本篇旨在整体的梳理一下Spring的核心功能,让我们对Spring的整体印象更加具体深刻,为接下来的Spring学习打下基础。 本片主体内容如下: Bean的生命周期依赖注入的实现Bean初始化原理推断构造方法原理AOP的实现这里要说明一下,我们这里说到的Spring,一般指的是Spring F…

Mac M1:通过docker安装RocketMQ、RocketMQ-Dashboard

0. 引言 最近本地启动以前docker安装的rocketmq发现报错了&#xff0c;因为是从老mac迁移过来的&#xff0c;发现支持的芯片还是amd的&#xff0c;于是重新在docker下安装rocketmq&#xff0c;并记录下步骤&#xff0c;方便大家后续参考。 1. 步骤 1、先下载项目源码 git c…

3.基础算法之搜索与图论

1.深度优先搜索 深度优先搜索&#xff08;DFS&#xff0c;Depth First Search&#xff09;是一种用于遍历或搜索树或图的算法。它将当前状态按照一定的规则顺序&#xff0c;先拓展一步得到一个新状态&#xff0c;再对这个新状态递归拓展下去。如果无法拓展&#xff0c;则退回…

【手撸IM】消息ID设计与实现

【手撸IM】专题由来&#xff1a;之前利用业余空闲时间写一个Java版Akka-Rpc&#xff0c;并且基于它写了一个分布式高性能文件服务&#xff0c;从反馈上来看&#xff0c;还是得到了一定的关注&#xff0c;甚至部分同学真的基于此直接抄作业和二开了。因此有了再进一步去手撸一个…

收益率16.6%!超越ChatGPT的股票预测模型来了,还能给出合理解释

股市变换莫测&#xff0c;任何一点风吹草动都可能影响股票的走势&#xff0c;面对这种不确定性&#xff0c;投资者们常常感到无所适从。 于是研究者们盯上了如今大火的大模型技术&#xff0c;试图通过高效地处理和分析海量的股市数据&#xff0c;挖掘出其中的隐藏规律和趋势&am…

使用ffmpeg提取视频中的音频并保存为单声道wav

1 原始视频信息 通过ffmpeg -i命令查看视频基本信息 $ ffmpeg -i C0439.MP4 ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable…

华为OD机试 - 垃圾信息拦截(Java 2024 C卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&a…

网络安全之渗透实战学习

前言 本次渗透以SMB共享之SCF文件攻击为突破点&#xff0c;利用burp编码爆破Basic Authorization认证、smb连接的多种方法、windows用户的NTLM值破解方法、evil-winrm的运用、windows主机信息收集工具、msf运行powershell脚本、远程运行powershell脚本、PrintNightmare漏洞提权…

内存抖动导致shared pool资源征用分析

业务hang住&#xff0c;后台查看事件都是“latch: shared pool” 根据堵塞的blocking_session检查sid为1873的会话 发现都是MMAN进程堵塞&#xff0c;我们都知道Oracle的MMAN进程&#xff08;Memory Manager Process&#xff0c;内存管理进程&#xff09;会根据系统负载的变化和…

2024.3.11 C++作业

1、提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成 #include <iostream>using namespace std;int main() {char str[20];cout << "please enter the str:";gets(str);in…

2024 年广东省职业院校技能大赛(高职组) “云计算应用”赛项样题⑤

2024 年广东省职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项样题⑤ 模块一 私有云&#xff08;50 分&#xff09;任务 1 私有云服务搭建&#xff08;10 分&#xff09;任务 2 私有云服务运维&#xff08;25 分&#xff09;任务 3 私有云运维开发&#xf…

基于云效构建部署NodeJS项目到ACK

准备工作 01、编写Dockerfile文件可以根据不同的环境&#xff0c;新建不同的Dockerfile文件&#xff0c;比如Dockerfile-PROD # Deliver the dist folder with NginxFROM nginx:stable-alpine ENV LANGC.UTF-8 ENV TZAsia/ShanghaiCOPY dist/ /usr/share/nginx/html COPY ngi…

Redis中AOF数据持久化

AOF介绍 AOF&#xff08;Append Only File&#xff09;持久化&#xff1a;以独立日志的方式存储了 Redis 服务器的顺序指令序列&#xff0c;并只记录对内存进行修改的指令。 当Redis服务发生雪崩等故障时&#xff0c;可以重启服务并重新执行AOF文件中的指令达到恢复数据的目的…

Windows系统中安装docker及镜像加速的配置

文章目录 一.安装wsl二.下载docker desktop三.更换Docker镜像引用出处 一.安装wsl 在安装wsl之前&#xff0c;先在Windows中配置WSL环境,步骤很简单&#xff0c;按照以下文章进行 Windows10/11配置WSL(Ubuntu)环境 以管理员身份打开Windows PowerShell&#xff0c;执行以下命…

怎样将PPT转成文本格式?PPT文本一键生成文本格式 工作经验分享

在日常工作和学习中&#xff0c;我们经常需要将PPT文件转换为文本格式&#xff0c;以便更好地进行编辑、搜索和分享。下面&#xff0c;我将介绍2种常见的PPT转文本格式的方法&#xff0c;帮助大家轻松实现这一需求。 方法一、使用汇帮PDF转换器软件里的“PPT文件操作”菜单进行…

Linux面试题汇总!附答案详解!学习提升必备!(30w+收藏)

Linux 概述 什么是Linux Unix和Linux有什么区别&#xff1f; 什么是 Linux 内核&#xff1f; Linux的基本组件是什么&#xff1f; Linux 的体系结构 BASH和DOS之间的基本区别是什么&#xff1f; Linux 开机启动过程&#xff1f; Linux系统缺省的运行级别&#xff1f; L…

Python docx学习笔记

个人学习笔记。 1 工具介绍 python-docx 是用于创建可修改 微软 Word 的一个 python 库&#xff0c;提供全套的 Word 操作&#xff0c;是最常用的 Word 工具。 1.1 基本概念 Document&#xff1a;是一个 Word 文档 对象&#xff0c;不同于 VBA 中 Worksheet 的概念&#xf…

带你搞清楚strtok函数和strerror函数的使用!

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

Linux 多进程开发(上)

第二章 Linux 多进程开发 2.1 进程概述2.2 进程状态转换2.3 进程创建2.4 exec 函数族2.5 进程控制 网络编程系列文章&#xff1a; 第1章 Linux系统编程入门&#xff08;上&#xff09; 第1章 Linux系统编程入门&#xff08;下&#xff09; 第2章 Linux多进程开发&#xff08;…

python 基础知识点(蓝桥杯python科目个人复习计划62)

今日复习内容&#xff1a;做题 例题1&#xff1a;付账问题 问题描述&#xff1a; 几个人一起出去吃饭是常有的事&#xff0c;但在结账的时候&#xff0c;常常会出现一些争执。 现在有n个人出去吃饭&#xff0c;他们总共消费了S元&#xff0c;其中第i人带了ai元。幸运的是&a…