java之静态属性方法

在java中有一个static的关键字,它用来修饰类的成员。如果用static修饰属性,该属性被称为静态属性

静态属性的访问格式如下

类名.属性名

如果没有修饰静态属性示例代码如下

class Xuesheng1{String name;int age;String school="A大学";public Xuesheng1(String name,int age) {this.name=name;this.age=age;}public void info() {System.out.println("姓名:"+this.name+",年龄:"+this.age+",学校:"+school);}
}public class Jingtaishuxing {public static void main(String[] args) {Xuesheng1 stu1=new Xuesheng1("张三",18);Xuesheng1 stu2=new Xuesheng1("李四",19);Xuesheng1 stu3=new Xuesheng1("王五",20);stu1.info();stu2.info();stu3.info();stu1.school="B大学";System.out.println("修改stu1学校对象的学校信息为B大学后");stu1.info();stu2.info();stu3.info();}}

运行结果是

姓名:张三,年龄:18,学校:A大学
姓名:李四,年龄:19,学校:A大学
姓名:王五,年龄:20,学校:A大学
修改stu1学校对象的学校信息为B大学后
姓名:张三,年龄:18,学校:B大学
姓名:李四,年龄:19,学校:A大学
姓名:王五,年龄:20,学校:A大学
可以看出,张三的学校由A大学变为B大学,其他人没有变。如果不用static,对象数量少还好说,数量多了,就非常麻烦,现实中一个学校不可能就三个学生。

可以用static用来修饰school属性

示例代码如下

class Xuesheng1{String name;int age;static String school="A大学";public Xuesheng1(String name,int age) {this.name=name;this.age=age;}public void info() {System.out.println("姓名:"+this.name+",年龄:"+this.age+",学校:"+school);}
}public class Jingtaishuxing {public static void main(String[] args) {Xuesheng1 stu1=new Xuesheng1("张三",18);Xuesheng1 stu2=new Xuesheng1("李四",19);Xuesheng1 stu3=new Xuesheng1("王五",20);stu1.info();stu2.info();stu3.info();stu1.school="B大学";System.out.println("修改stu1学校对象的学校信息为B大学后");stu1.info();stu2.info();stu3.info();}}

修改后的代码变化不大,唯一变化是school由static修饰

static String school="A大学";

之前的代码没有用static修饰

 String school="A大学";

修改后的运行结果如下

姓名:张三,年龄:18,学校:A大学
姓名:李四,年龄:19,学校:A大学
姓名:王五,年龄:20,学校:A大学
修改stu1学校对象的学校信息为B大学后
姓名:张三,年龄:18,学校:B大学
姓名:李四,年龄:19,学校:B大学
姓名:王五,年龄:20,学校:B大学
和第一程序运行结果对比,可以发现三个学生的学校都变了。

经过static修饰过的属性就是静态属性,可以影响全域。

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

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

相关文章

openGauss真的比PostgreSQL差了10年?

前不久写了MogDB针对PostgreSQL的兼容性文章,我在文中提到针对PostgreSQL而言,MogDB兼容性还是不错的,其中也给出了其中一个能源客户之前POC的迁移报告数据。 But很快我发现总有人回留言喷我,而且我发现每次喷的这帮人是根本不看文…

2024广州智能音箱展|广州蓝牙耳机展

2024广州智能音箱展|广州蓝牙耳机展 时间:2024年11月29日-12月1日 地点:广州琶洲保利世贸博览馆 【展会简介】 中国是全球最大的音频产品制造基地和消费市场,随着国内外互联网巨头纷纷瞄准音频行业并投入巨资布局AI产品矩阵,音…

pom.xml文件加载后没有变成maven图标

原因: 开启了IDEA的节电模式 现象为: xml会变橙色,yml变粉色,自动提示关闭等 把这个节能模式的勾选给取消掉就可以正常显示了

python提取图片中的文字写入excel文件,并打包为exe可执行文件

python提取图片数据写入excel,并打包为exe可执行文件 1. 以下面的图片为例2. python环境需要的依赖包3. 创建交互式窗口4. 读取文件夹下的所有文件并提取数据5. 提取图片中字段的代码6. 打包代码为exe可执行文件安装打包依赖文件运行打包代码 1. 以下面的图片为例 2…

入门Salesforce:必须掌握的20+基础专业术语!

Salesforce的发展令人印象深刻。在过去的20年中,Salesforce创建了一个由管理员、开发人员、顾问和用户组成的生态系统,不断颠覆创新CRM,促进平等和多样性。 作为初学者,探索Salesforce领域就像学习一门新语言。Salesforce中有着大…

Postman环境变量秘籍:pm.environment的高级使用指南

📓 Postman环境变量秘籍:pm.environment的高级使用指南 Postman是API开发和测试的强大工具,它提供了丰富的功能来简化和加速开发过程。pm.environment 是Postman中用于管理环境变量的内置对象,它允许你在集合运行时存储和访问环境…

YOLOv8改进 | 卷积模块 | 减少冗余计算和内存访问的PConv【CVPR2023】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…

Vue3详解

vite和webpack区别 vite vite使用原生ES模块进行开发,无需在编译时将所有代码转换为JS打包,从而提供了更快的热更新和自动刷新功能; vite在开发模式下没有打包步骤,而是利用浏览器的ES Module Imports特性实现按需编译&#xff…

深入分析 Android HTTPS 证书管理策略:设置本地证书、使用系统默认证书和忽略证书

深入分析 Android HTTPS 证书管理策略:设置本地证书、使用系统默认证书和忽略证书 在 Android 应用开发中,确保 HTTPS 请求的安全性至关重要。为实现这一目标,我们可以通过不同的方式来管理 HTTPS 证书。本文将详细探讨三种常见的证书管理策…

【ajax实战08】分页功能

本文章目标:点击上/下一页按钮,实现对应页面的变化 实现基本步骤: 一:保存并设置文章总条数 设置一个全局变量,将服务器返回的数据返回给全局变量 二:点击下一页,做临界值判断,并…

Firefox 编译指南2024 Windows10篇- 编译Firefox(三)

1.引言 在成功获取了Firefox源码之后,下一步就是将这些源码编译成一个可执行的浏览器。编译是开发流程中的关键环节,通过编译,我们可以将源代码转换为可执行的程序,测试其功能,并进行必要的优化和调试。 对于像Firef…

git命令含有中文,终端输出中文乱码的问题

目录 1、[当前代码页] 的936 (ANSI/OEM - 简体中文 GBK) 是导致中文乱码的原因 2、这样会导致什么问题呢? (1) 问题一: 【属性】选项的【字体】无法识别自定义文字样式,【默认值】选项可选自定义字体样式,却无法覆盖【属性】选项 (2) 问题…

品牌推广怎么样?掌握正确做法,让品牌大放异彩!

品牌推广对于初创公司来说是一项至关重要的任务。在市场众多品牌中,如何脱颖而出,是每个品牌方都要考虑的问题。 作为一名手工酸奶品牌的创始人,目前全国复制了100多家门店,我来分享下,如何推广,可以让品牌…

通过shell脚本创建MySQl数据库

通过shell脚本创建数据库 #!/bin/bashserverIP10.1.1.196 SERVER_NAMEecho $serverIP | cut -d . -f4cat<<EOF>db.sql drop database if exists ${SERVER_NAME}_scheduler; drop database if exists ${SERVER_NAME}_kms; drop database if exists ${SERVER_NAME}_uim…

Unity 粒子特效(下)

11、Size over Lifetime(生命周期内大小) 主要用于定义粒子从发射到消亡的整个生命周期内&#xff0c;其大小如何随时间发生变化。通过该模块&#xff0c;可以创建出如烟雾扩散、火焰膨胀等。Separate Axes&#xff1a;当勾选此选项时&#xff0c;可以分别控制粒子在X轴、Y轴和…

自定义控件动画篇(四)ObjectAnimator的使用

ObjectAnimator 是 Android 属性动画框架中的一个重要组件&#xff0c;它允许你针对特定属性的值进行动画处理。与 ValueAnimator 相比&#xff0c;ObjectAnimator 更专注于 UI 组件&#xff0c;可以直接作用于视图的属性&#xff0c;如位置、尺寸、透明度等&#xff0c;而无需…

详细阐述 Spring Boot 的核心概念、优势、开发流程、常见配置以及最佳实践

Spring Boot 是一种基于 Java 的框架&#xff0c;它简化了基于 Spring 的应用开发。通过自动配置和嵌入式服务器等技术&#xff0c;Spring Boot 使得开发者可以快速搭建并运行 Spring 应用。下面&#xff0c;我将详细阐述 Spring Boot 的核心概念、优势、开发流程、常见配置以及…

闭包的不同形式

定义 **闭包&#xff08;closure&#xff09;**是一个函数以及其捆绑的周边环境状态&#xff08;lexical environment&#xff0c;词法环境&#xff09;的引用的组合。换而言之&#xff0c;闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中&#xff0c;闭包…

【Jetpack】ViewModel使用技巧

ViewModel的基本使用方法&#xff0c;这里不再讲解 ViewModel优点 可以在屏幕旋转之后&#xff0c;仍然保持之前的状态&#xff0c;这样就不用刻意去处理屏幕旋转事件可以轻松实现作用域内的单例模式可以轻松在作用域内进行数据共享 ViewMode使用注意 不能将Activity作为Co…

Centos7修改yum源

安装好系统后&#xff0c;网络能通信&#xff0c;源也没有配置&#xff0c;但是安装软件失败。 解决办法&#xff1a;配置阿里yum源 # curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # yum clean all # yum make cache再次安装软…