当前位置: 首页 > news >正文

面向对象高级(static)

一、静态(static)
static读作静态,可以用来修饰成员变量,也能修饰成员方法。

1.1 static修饰成员变量
Java中的成员变量按照有无static修饰分为两种:类变量、实例变量。

1.2 static修饰成员变量的应用场景
需求:系统启动后,要求用类可以记住自己创建了多少个用户对象。

第一步:先定义一个User类,在用户类中定义一个static修饰的变量,用来表示在线人数;

public class User{ public static int number; //每次创建对象时,number自增一下 public User(){ User.number++; } }


第二步:再写一个测试类,再测试类中创建4个User对象,再打印number的值,观察number的值是否再自增。

public class Test{ public static void main(String[] args){ //创建4个对象 new User(); new User(); new User(); new User(); //查看系统创建了多少个User对象 System.out.println("系统创建的User对象个数:"+User.number); } }


运行上面的代码,查看执行结果是:系统创建的User对象个数:4

1.3 static修饰成员方法


1.4 工具类
如果一个类中的方法全都是静态的,那么这个类中的方法就全都可以被类名直接调用,由于调用起来非常方便,就像一个工具一样,所以把这样的类就叫做工具类。

生成验证码的工具类:

public class MyUtils { public static String createCode(int number) { //1.定义一个字符串,用来记录产生的验证码 String code = ""; //2.验证码是由所有的大写字母、小写字母或者数字字符组成 //这里先把所有的字符写成一个字符串,一会从字符串中随机找字符 String data = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKMNOPQRSTUVWXYZ";


//3.循环n次,产生n个索引,再通过索引获取字符

Random r = new Random(); for (int i = 0; i < number; i++) { int index = r.nextInt(data.length()); char ch = data.charAt(index); //4.把获取到的字符,拼接到code验证码字符串上。 code += ch; } //最后返回code,code的值就是验证码 return code; } }

接着可以在任何位置调用MyUtils的createCOde()方法产生任意个数的验证码

public class LoginDemo{ public static void main(String[] args){ System .out.println(MyUtils.createCode()); } }

1.5 static的注意事项


1.6 static应用(代码块)
代码块根据有无static修饰分为两种:静态代码块、实例代码块。


http://www.jsqmd.com/news/569232/

相关文章:

  • RWKV7-1.5B-g1a开源模型优势:Apache 2.0协议,商用无忧,可二次微调
  • Android Studio中文界面汉化终极指南:5分钟打造舒适开发环境
  • springboot+vue基于web的企业后台管理系统的设计系统
  • [Windows] 随机加密工具 7z密压 v1.0
  • Bayes-TCN-BiLSTM+SHAP分析,贝叶斯优化时间卷积双向长短期网络分类预测可解释性分析!Matlab代码
  • Ostrakon-VL-8B部署案例:高校零售实验室教学平台搭建指南
  • 智能车调参手记:我用Kp=200, Ki=60, Kd=40让小车稳如老狗
  • Sherlock插件避坑指南:工业相机SDK开发中那些官方文档没说的细节
  • 夯实深度学习的地基:PyTorch 数据操作与 Pandas 预处理实战
  • Step3-VL-10B-Base模型效果展示:多语言文本理解能力测评
  • 算法奇妙屋(三十八)-贪心算法学习之路 5
  • 如何用开源工具解决光学教学与设计的可视化难题
  • 实战教程:用单卡4090D十分钟微调Qwen2.5-7B,效果立竿见影
  • MySQL数据库备份管理系统新增备份任务巡检功能
  • Phi-3-mini-4k-instruct-gguf多场景落地:跨境电商多语言商品描述批量生成
  • 从 0 到 1:如何用 RAG 技术解决大模型幻觉问题
  • Live Avatar数字人模型5分钟快速上手:阿里开源实时虚拟人一键部署教程
  • 简单介绍C语言中的字符串函数
  • 南北阁 Nanbeige 4.1-3B 部署案例:律师事务所内部合规问答系统私有化落地
  • 终极Windows热键侦探:3分钟定位并解决快捷键冲突问题
  • Vue.js前端项目实战:构建深度学习模型可视化监控仪表盘
  • AI驱动的Vue3应用开发平台深入探究(十九):CLI与工具链之Create VTJ CLI 参考
  • 新手友好!Ubuntu 18上BUUCTF PWN题‘RIP’的保姆级栈溢出通关攻略(附Python脚本)
  • MiniCPM-V-2_6 Ubuntu 20.04一键部署教程:从安装到运行
  • PyTorch 2.8镜像法律科技:庭审音视频→AI摘要+关键帧提取+证据链可视化
  • 告别信息混乱:Trilium中文版让知识管理像整理衣柜一样简单
  • Docker-Wechat:在容器中畅享跨平台微信体验
  • Isaac Gym摄像头数据获取全攻略:从CPU到GPU,教你实时显示RGB与深度图
  • Qwen3-ASR-0.6B在在线教育场景的应用:快速将讲课音频转文字
  • HUNYUAN-MT惊艳翻译效果:专业领域长文档翻译案例集