java —— 类与方法
一、访问修饰符
在类和方法中,均可使用访问修饰符以锁定该类或方法的被访问权限。访问修饰符有四种:
(一)public
同一个项目中,对所有的类可见。
(二)protected
同一个项目中,对同一个包中的类可见,对子类可见,对其他包中的类不可见。
(三)default
同一个项目中,对同一个包中的类可见,对其他包中的类不可见。
(四)private
同一个项目中,只对当前类可见。
二、static 和 this 关键字
(一)static
static 用于修饰类或方法,表示其为静态类或静态方法,在调用的过程中无需对其实例化,即可直接使用。
public class OuterSample
{public static void innermethod(){System.out.println("hello!");}public static void main(String[] args){OutSample.innermethod();}
}
该案例中,由于方法 innermethod() 用 static 修饰,在 main 方法中调用的时候无需实例化,直接用 类名.方法名 即可调用。
(二)this
this 关键字用于指代当前对象(this 指向对类进行实例化之后的全局变量,而不是方法中定义的局部变量),比较以下三个案例:
public class OuterSample
{ String name="Spike"; public String innermethod() { String name="Tom"; return name; } public static void main(String[] args) { OuterSample os1=new OuterSample(); String x=os1.innermethod(); System.out.println(x); }
}
本案例中没有使用 this 关键字,则调用 innermethod() 时默认使用局部变量 “Tom”。
public class OuterSample
{ String name="Spike"; public String innermethod() { String name="Tom"; return this.name; } public static void main(String[] args) { OuterSample os1=new OuterSample(); String x=os1.innermethod(); System.out.println(x); }
}
本案例中,os1 为类 OuterSample 的一个实例化对象,this 关键字指向类 OuterSample 的全局变量,即 “Spike”。
public class OuterSample
{ String name="Spike"; public String innermethod() { this.name="Tom"; return this.name; } public static void main(String[] args) { OuterSample os1=new OuterSample(); String x1=os1.innermethod(); System.out.println(x1); String x2=os1.name;System.out.println(x2);}
}
本案例中,this 同样指向全局变量,但在方法中对全局变量进行了重新赋值,所以即使 this 指向全局变量,也是在方法 innermethod() 中被赋值为 “Tom” 的全局变量。而 x2 没有调用方法,this 指向的仍然是方法 innermethod() 外部的全局变量,也就是“Spike”。
三、构造方法和普通方法
(一)构造方法
① 方法名与类名相同
② 没有返回值类型
③ 不能使用 static 修饰
④ 可以有多种重载形式
(二)普通方法
普通方法名称与类名不能相同,分为静态方法和实例方法:
静态方法,使用 static 修饰符,无需对类进行实例化即可调用。
实例方法,不使用 static 修饰符,调用时需要先对类进行实例化,然后用 类名.方法名 调用。
四、方法重载和方法重写
(一)方法重载
构造方法和普通方法均可进行方法重载,也就是方法名相同,而参数数量或类型不同。
特点:同一个类,方法名相同,参数列表不同。
(二)方法重写
方法重写发生在子类继承父类的情况下,当子类需要对父类的某些方法进行重新编写的时候,可以在子类中进行方法重写,方法名与父类的方法名相同。
特点:不在同一个类,子类重写父类的方法,方法名和参数列表均相同。
相关文章:
java —— 类与方法
一、访问修饰符 在类和方法中,均可使用访问修饰符以锁定该类或方法的被访问权限。访问修饰符有四种: (一)public 同一个项目中,对所有的类可见。 (二)protected 同一个项目中,对…...
【MySQL精通之路】InnoDB-启动选项和系统变量
系统变量可以在服务器启动时设置TRUE或FALSE启用禁用,也可以通过使用--skip前缀来禁用 例如: 要启用或禁用InnoDB自适应哈希索引,可以在命令行中使用--skip-innodb-adaptive-hash-index或--innodb-adaptive-hash-index,或者在配置…...
嵌入式linux系统中文件系统制作方法详解
第一:制作目的 1、掌握嵌入式Ubuntu系统的构建方法 2、熟悉嵌入式Ubuntu文件系统映射压缩打包方法 3、掌握RK3399linux系统单文件系统更新方法 Ubuntu根文件系统制作完成之后,把制作好的ubuntu文件系统映射文件在出厂系统的基础上替换原有的ubuntu根文件系统,即对 Linux 系统…...
AI爆文写作:要写文章爆,这47个爆文前缀少不了!
47个爆文前缀:很震惊很好用 这些前缀,虽然被用了无数次,但每个人看到还是会忍不住点进去。 可以借鉴这样强情绪的句式。 序号前缀1就在刚刚…2真相曝光…3震惊国人…4惊天秘密…5疯狂转发…6删前速看…7千万别吃…8还敢喝吗…9癌症前兆…10赶快扔了…11太可怕了…12大事不…...
javas-core VS java-object-diff
对照工具选择 javas-core 和 java-object-diff ,对比demo https://github.com/kofgame/objectdiff-vs-javers,都为同源对比,都支持嵌套对象。 使用JMH测试方法进行性能测试,使用题库的QuestionResponseVO对象来进行对照对比,进行…...
dirsearch指令大全
文章目录 基本用法主要参数和选项目标和URL设置--url URL--url-list FILE 扩展名--extensions EXTENSIONS 字典文件--wordlists WORDLIST 线程和性能--threads THREADS--timeout SECONDS--delay MILLISECONDS 忽略状态码代理和请求设置--proxy PROXY--headers HEADERS 保存结果…...
C++基础:构建者设计模式
#include <iostream> #include <string> using namespace std; //构建者设计模式-一种工厂只生产一种复杂的产品 class robot {public:string head;string upbody;string downbody; };class robotBuilder {private:robot *myRobot;public:robotBuilder() //构造函…...
Swift 请求用户授权以跟踪其跨应用或网站的活动
步骤1:导入框架 首先,需要在Swift文件中导入AppTrackingTransparency框架。 import AppTrackingTransparency import AdSupport步骤2:请求跟踪许可 在适当的地方请求用户的跟踪许可。通常,这个请求会在应用启动时或者在用户执行…...
最新版npm详解
如:npm中搜索 jQuery image.png image.png 接地气的描述:npm 类似于如下各大手机应用市场 image.png image.png 查看本地 node 和 npm 是否安装成功 image.png image.png 或 npm install -g npm image.png image.png image.png image.png image.…...
超值分享50个DFM模型格式的素人直播资源,适用于DeepFaceLive的DFM合集
50直播模型:点击下载 作为直播达人,我在网上购买了大量直播用的模型资源,包含男模女模、明星脸、大众脸、网红脸及各种稀缺的路人素人模型。现在,我将这些宝贵的资源整理成合集分享给大家,需要的朋友们可以直接点击下…...
Python——一维二维字典数据转化为DataFrame的方法
import pands as pddf pd.DataFrame(dict)...
unity中如何插入网页
在Unity中插入自己的网页通常是通过使用Unity的WebGL构建目标和HTML页面来实现的。以下是一些步骤: 构建你的Unity项目为WebGL:在Unity中,选择Build Settings(构建设置),将Platform(平台&#x…...
【负载均衡在线OJ项目日记】引入网络库和客户端用户路由功能
目录 引入cpp-httplib库 将编译与运行服务打包 代码 客户端用户路由功能 采用MVC结构进行设计 用户路由功能 路由功能代码 引入cpp-httplib库 对于后端编译与运行模块基本已经设计完成,最后用户是通过网络传递代码等信息;我们就要将这个模块引入…...
【Vue3】env环境变量的配置和使用(区分cli和vite)
原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、env文件二、vue3cli加载env1..env配置2..dev配置(其他环境参考)3.package.json文件4.使用 三、vue3vite加载e…...
ACW石子合并-XMUOJ元素共鸣:唤醒神之眼 -区间DP
题目 思路 话不多说,直接上代码 代码 /* ACW石子合并-XMUOJ元素共鸣:唤醒神之眼 JinlongW-2024/05/25 区间DP 当i<j时,f[i][j]min(f[i][k]f[k][j]s[j]-s[i-1]) 当ij时,f[i][j]0 最终答案:f[1][n] *//* 区间DP…...
大语言模型实战——搭建纯本地迷你版RAG
1. 概念 RAG(Retrieval Augmented Generation)检索增强生成,它结合了搜索技术和大语言模型的提示词功能,以搜索算法找到的信息作为背景上下文,来辅助大语言模型(Large Language Model, LLM)生成…...
内存分配算法
一、实验目的: 实验目的: 通过编写一个内存分配模拟程序,实现首次适应算法(First Fit)、循环首次适应算法(Next Fit)、最佳适应算法(Best Fit)和最差适应算法(…...
Hive运行错误
Hive 文章目录 Hive错误日志错误SessionHiveMetaStoreClientql.Driver: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTaskerror: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster Please check …...
vue3之使用图片实现类似于 el-radio 的单选框功能,并且可实现选中和取消选中
背景 我们在工作中常用的一般都是使用类似于 element-plus 中的 el-radio 或者是 el-checkbox 来实现单选或者多选 若有一天我们遇到了一个新的业务需求,需要使用 图片 来实现类似于 el-radio 的功能,并且要求实现第一次点击时处于选中状态,当我们再次点击时处于非选中状态…...
Vue 安装vue
1、官网安装下载安装nodejs 2、安装完成后,通过命令查看版本,可以查看到版本 node -v npm -v 3、安装Vue CLi npm install -g vue/cli 4、创建项目,vue create test 如果遇到报错: ERROR Error: spawn yarn ENOENT Error: spawn yarn ENOENT at ChildP…...
智能字幕处理引擎:基于LLM的视频字幕全流程自动化解决方案
智能字幕处理引擎:基于LLM的视频字幕全流程自动化解决方案 【免费下载链接】VideoCaptioner 🎬 卡卡字幕助手 | VideoCaptioner - 基于 LLM 的智能字幕助手 - 视频字幕生成、断句、校正、字幕翻译全流程处理!- A powered tool for easy and e…...
Python入门之函数调用
第1关:内置函数 - 让你偷懒的工具任务描述 我们在编程过程中会用到很多函数,但我们不需要每个函数都自己去编写,因为 Python 内置了很多十分有用的函数,我们在编程过程中可以直接调用。本关目标是让学习者了解并掌握一些常用的 Py…...
kill-doc:智能文档下载效率工具,让内容获取化繁为简
kill-doc:智能文档下载效率工具,让内容获取化繁为简 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本…...
无网环境方案:OpenClaw离线调用SecGPT-14B的实践
无网环境方案:OpenClaw离线调用SecGPT-14B的实践 1. 为什么需要离线AI助手 在网络安全和涉密机构的工作场景中,数据安全永远是第一位的。我最近参与了一个特殊项目,需要在完全断网的环境下部署AI助手,用于自动化安全巡检和日志分…...
STM32F103RCT6定时器实战:从基础配置到PWM波形测量
1. STM32F103RCT6定时器基础入门 第一次接触STM32的定时器时,我完全被各种专业术语搞晕了。什么预分频器、自动重装寄存器、时基单元,听起来就像天书一样。但实际用起来才发现,定时器就像厨房里的定时闹钟,只不过更精确、更灵活。…...
使用C#代码在 Excel 中添加或设置批注格式
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
3步掌握终极鼠标悬停翻译神器:MouseTooltipTranslator完整使用指南
3步掌握终极鼠标悬停翻译神器:MouseTooltipTranslator完整使用指南 【免费下载链接】MouseTooltipTranslator Mouseover Translate Any Language At Once - Chrome Extension: PDF Translator, EBOOK, EPUB, OCR, TTS, NETFLIX, YOUTUBE DUAL SUBTITLES, GOOGLE DOC…...
“INMS: Memory Sharing for Large Language Model based Agents“ 论文笔记坑
1.概述在人工智能快速发展的今天,AI不再仅仅是回答问题的聊天机器人,而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理,能够在用户的机器上安全高效地生成高质量的软件变…...
Python敏感词检测方案详解
一、引言在互联网内容审核、社交平台监管、评论系统过滤等场景中,敏感词检测是一项必不可少的功能。Python凭借其丰富的生态和简洁的语法,提供了多种实现敏感词检测的方案。本文将详细介绍几种主流的实现方式,并分析各自的优缺点及适用场景。…...
ESP居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现汉
前言 Kubernetes 本身并不复杂,是我们把它搞复杂的。无论是刻意为之还是那种虽然出于好意却将优雅的原语堆砌成 鲁布戈德堡机械 的狂热。平台最初提供的 ReplicaSets、Services、ConfigMaps,这些基础组件简单直接,甚至显得有些枯燥。但后来我…...
