静态方法与实例方法的区别

静态方法与实例方法的区别

  • 1、静态方法(Static Methods)
    • 1.1 调用方式
    • 1.2 访问权限
  • 2、实例方法(Instance Methods)
    • 2.1 调用方式
    • 2.2 访问权限
  • 3、总结


💖The Begin💖点点关注,收藏不迷路💖

在Java中,静态方法和实例方法是两种常见的方法类型。它们之间有着显著的区别,这些区别主要体现在它们的调用方式和可访问的成员类型上。

1、静态方法(Static Methods)

静态方法属于类本身,而不是类的实例。这意味着你可以在不创建类的实例的情况下调用静态方法。静态方法通常用于执行与类本身相关但不依赖于任何特定对象的操作。

1.1 调用方式

静态方法可以使用类名直接调用,也可以使用对象名调用,但通常建议使用类名调用以强调其静态特性。

ClassName.staticMethodName();  // 或者使用对象名(不推荐)  
ClassName obj = new ClassName();  
obj.staticMethodName();

1.2 访问权限

静态方法在访问本类的成员时,只能访问静态成员(即静态成员变量和静态方法)。这是因为静态方法不依赖于任何特定的对象实例,因此它们无法访问与特定对象相关的非静态成员。

public class MyClass {  public static int staticVar = 10;  public int instanceVar = 20;  public static void staticMethod() {  // 可以访问静态变量  System.out.println(staticVar);  // 不能直接访问实例变量  // System.out.println(instanceVar); // 编译错误  }  
}

2、实例方法(Instance Methods)

实例方法属于类的实例。这意味着你需要创建一个类的实例(即对象)才能调用实例方法。实例方法通常用于执行与特定对象相关的操作。

2.1 调用方式

实例方法只能通过对象名调用。

ClassName obj = new ClassName();  
obj.instanceMethodName();

2.2 访问权限

实例方法可以访问类的所有成员,包括静态成员和实例成员。这是因为实例方法是在特定对象上调用的,因此它们可以访问与该对象相关的所有成员。

public class MyClass {  public static int staticVar = 10;  public int instanceVar = 20;  public void instanceMethod() {  // 可以访问静态变量  System.out.println(staticVar);  // 可以访问实例变量  System.out.println(instanceVar);  }  
}

3、总结

1、静态方法和实例方法之间的主要区别在于它们的调用方式和可访问的成员类型。

2、静态方法属于类本身,可以通过类名直接调用,并且只能访问静态成员。

3、而实例方法属于类的实例,需要通过对象名调用,并且可以访问类的所有成员(包括静态成员和实例成员)。
在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

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

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

相关文章

【C++】解决 C++ 语言报错:Invalid Array Index

文章目录 引言 无效数组索引(Invalid Array Index)是 C 编程中常见且危险的错误之一。当程序试图使用不合法的索引访问数组时,就会发生无效数组索引错误。这种错误不仅会导致程序崩溃,还可能引发不可预测的行为和安全漏洞。本文将…

【PB案例学习笔记】-28制作一个右键菜单

写在前面 这是PB案例学习笔记系列文章的第28篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…

任天堂称未来第一方游戏不会使用生成式AI

虽然EA、育碧、暴雪、Embracer等西方游戏厂商都大力支持生成式AI技术,但日本老牌游戏公司任天堂并不会追随这一步伐。任天堂已经确认该公司未来的第一方游戏不会使用生成式AI技术。 在公司最近的投资人问答会上,任天堂描绘了公司未来游戏愿景。在谈到AI技…

LeetCode——第 404 场周赛

周赛 三角形的最大高度 给你两个整数 red 和 blue,分别表示红色球和蓝色球的数量。你需要使用这些球来组成一个三角形,满足第 1 行有 1 个球,第 2 行有 2 个球,第 3 行有 3 个球,依此类推。 每一行的球必须是 相同 …

Go语言--自定义函数

定义格式 函数构成代码执行的逻辑结构。在 Go语言中,兩数的基本组成为:关键字 func、函数名、参数列表、返回值、所数体和返回语句。 函数定义说明: func:函数由关键字func开始声明FuncName:函数名称,根据约定,数名首字母小写即为private…

浅谈 Linux 中的 core dump 分析方法

文章目录 一、什么是 core dump二、发生 core dump 的原因1. 空指针或非法指针引起 core dump2. 数组越界或指针越界引起的 core dump3. 数据竞争导致 core dump4. 代码不规范 三、core dump 分析方法1. 启用 core dump2. 触发 core dump2-1. 因空指针解引用而崩溃2-2. 通过 SI…

图形编辑器基于Paper.js教程06:鼠标画圆与椭圆

绘制椭圆与圆形:利用Paper.js进行交互式图形设计 在Web应用中实现交互式图形绘制功能,对于提高用户体验至关重要,尤其是在设计和艺术相关的应用中。Paper.js是一款强大的JavaScript库,专门用于处理矢量图形,它提供了一…

智能语音门锁:置入NV170D语音芯片ic 打造便捷生活新体验

一、智能门锁语音芯片开发背景 随着科技的飞速发展,传统门锁的局限性日益凸显,无法满足现代人对高效、安全生活的需求。在这样的时代背景下,智能门锁应运而生,它不仅继承了传统门锁的基本功能,更通过融入先进的科技元素…

商标的近似分辩,商标起名称时注意!

曾有过网友发来商标名称,普推知商标老杨说有近似,然后网友起过新名称还是存有近似,或者加字,后面加的通用词,与先有商标名称也是近似。 “良信健康”这个名称健康是行业通用词,加成健康后变成四个字&#x…

HTTP协议深入

1.了解web和网络基础 有客户端和服务端双方参与交互 客户端发送请求:request 服务端根据请求给出响应:response 请求通过URL来指定要获取都得资源 响应内容可以是HTML网页,或者用json表示的数据或者其他二进制文件内容 Web使用一种名为HTTP的协议作为规范&…

AI与大模型工程师证书研修班报名啦!

人工智能大模型是指拥有超大规模参数(通常在十亿个以上)、超强计算资源的机器学习模型,能够处理海量数据,完成各种复杂任务,如自然语言处理、图像识别等。计算机硬件性能不断提升,深度学习算法快速优化&…

ESP32CAM物联网教学03

ESP32CAM物联网教学03 物联网小车 小智突发奇想:要是我在点灯物联APP中多增加几个按钮,控制小车的行驶方向,不就可以做成遥控小车了吗? 点灯物联控制小车的行驶方向 我们可以重新编辑点灯物联APP中的设备控件界面,如…

开关电源中强制连续FCCM模式与轻载高效PSM,PFM模式优缺点对比笔记

文章目录 前言一、连续FCCM模式优点:缺点: 二,轻载高效PSM,PFM优点:缺点: 总结 前言 今天我们来学习下开关电源中,强制连续FCCM模式与轻载高效PSM,PFM模式优缺点对比 一、连续FCCM模式 优点: …

mac中如何恢复因为破解脚本导致的IDEA无法启动的问题

问题 为了在mac中安装免费的2024版idea,导致下载了一个脚本,使用这个脚本后,但是发现idea还没有破解,相反导致idea无法启动,每次点击,都会弹出“cannot start IDE…” 问题排查 在访达中点击mac的应用程…

docker -run hello-world超时

主要原因就是尝试拉取库的时候没有从阿里云镜像里拉&#xff0c;所以设置一下就好了 这里使用的是ubuntu系统&#xff08;命令行下逐行敲就行了&#xff09; sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": [&quo…

Adobe Acrobat添加时间戳服务器

文章目录 前言一、Adobe Acrobat添加时间戳服务器1.打开Adobe Acrobat软件2.点击【菜单】→ 【首选项】3.点击【安全性】→【更多】4.点击【新建】5.输入【名称】→【服务器URL】 前言 一、Adobe Acrobat添加时间戳服务器 1.打开Adobe Acrobat软件 2.点击【菜单】→ 【首选项…

模拟退火算法1——简介

模拟退火算法来源于固体退火原理&#xff0c;将固体加温至充分高&#xff0c;再让其徐徐冷却&#xff0c;加温时&#xff0c;固体内部粒子随温升变为无序状&#xff0c;内能增大&#xff0c;而徐徐冷却时粒子渐趋有序&#xff0c;在每个温度都达到平衡态&#xff0c;最后在常温…

[C++][设计模式][访问器]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受1.代码一2.代码二 1.动机 在软件构件过程中&#xff0c;由于需求的变化&#xff0c;某些类层次结构中常常需要增加新的行为(方法)&#xff0c;如果直接在基类中做这样的更改&#xff0c; 将会给子类带来很繁重的变更负担&#xff0c…

数据恢复篇:5 款最佳 Mac 数据恢复软件

说到保护我们的数字生活&#xff0c;数据恢复软件的重要性怎么强调都不为过。无论您是意外删除了假期照片的普通用户&#xff0c;还是面临硬盘损坏的专业人士&#xff0c;随之而来的恐慌都是普遍存在的。幸运的是&#xff0c;数据恢复工具可以缓解这些压力。在Mac用户可用的众多…

zabbix小白入门:从SNMP配置到图形展示——以IBM服务器为例

作者 乐维社区&#xff08;forum.lwops.cn&#xff09;许远 在运维实践中&#xff0c;Zabbix作为一款强大的开源监控工具&#xff0c;被广泛应用于服务器、网络设备和应用程序的监控&#xff0c;成为保障业务连续性和高效运行的关键。然而&#xff0c;对于Zabbix的初学者来说&a…