[进阶]面向对象之static关键字

news2024/12/23 17:20:14

文章目录

  • 一、什么是static关键字
  • 为什么要设置static关键字
  • 二、static的使用规则
    • 1、static修饰变量:
    • 2.static的修饰方法
  • 练习(定义数组工具类)
  • 练习2(定义学生工具类)
  • 三、static的注意事项

一、什么是static关键字

static关键字是Java中的一个修饰符,用于声明类的成员变量、方法、代码块和嵌套类。使用static修饰的成员属于类本身,而不是类的实例。也就是说,static成员在内存中只有一份,共享给所有实例。

为什么要设置static关键字

1、如果方法和变量属于非静态的,他们只有在对象当中才会被分配内存空间,也就是只有对象才能调用。如果没有static关键字,那么类是不可以调用自己的属性和方法的,只能用对象去调用。
2、方便类去使用自己的方法和变量。

二、static的使用规则

1、static修饰变量:

1.static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量
2.被static修饰的成员变量,叫做静态变量
特点:

  • 该类被所有对象共享

调用方式:

  • 类名调用(推荐)
  • 对象名调用

修饰的变量属于类变量,存储在方法区的静态常量池当中,被所有对象共享。
3.被static修饰的成员方法,叫做静态方法
特点:

  • 多用在测试类和工具类中

  • javabean类中很少会用
    调用方法

  • 类名调用(推荐)

  • 对象名调用

2.static的修饰方法

  • 静态方法是属于类而不是类的实例的方法。它可以在不创建类的实例的情况下被调用。static修饰成员方法最大的作用,就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗。

  • 静态方法只能访问静态变量和调用其他静态方法,不能访问实例变量或调用实例方法。但是在非静态成员方法中是可以访问静态成员方法和静态成员变量。

在这里插入图片描述
在这里插入图片描述

练习(定义数组工具类)

需求:
在实际开发中,经常会遇到一些数组使用的工具类,请按照如下要求编写一个数组的工具类:ArraUtil

  • 提供一个工具类方法printArr,用于返回整数数组的内容
    返回的字符串格式如:10,20,50,34,100
  • 提供这样一个工具方法getAerage,用于返回平均分。(只考虑浮点型数组,且只考虑一维数组)
  • 定义一个测试类TestDemo,调用该工具类的工具方法,并返回结果。

代码呈现
在这里插入图片描述
测试类
在这里插入图片描述

练习2(定义学生工具类)

在这里插入图片描述
工具类代码呈现
在这里插入图片描述
javabean类代码省略
测试类代码呈现
在这里插入图片描述

三、static的注意事项

  • 静态方法只能访问静态变量和静态方法
  • 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
  • 静态方法中是没有this关键字

总结:
静态方法中,只能访问静态。
非静态方法可以访问所有。
静态方法中没有this关键字

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

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

相关文章

美国高防服务器运行《黑神话:悟空》配置需求及优化方法

《黑神话:悟空》作为一款备受关注的动作角色扮演游戏,其对计算资源和图形处理能力的需求相当高。在这种背景下,云服务器成为了一个能够提供强大支持的选项。下面将分析美国高防服务器在运行《黑神话:悟空》时的配置需求及优化方法…

微服务CI/CD实践(五)Jenkins Docker 自动化构建部署Node服务

微服务CI/CD实践系列: 微服务CI/CD实践(一)环境准备及虚拟机创建 微服务CI/CD实践(二)服务器先决准备 微服务CI/CD实践(三)gitlab部署及nexus3部署 微服务CI/CD实践(四&#xff09…

为什么现在那么多人用骨传导耳机?怎么选骨传导耳机?答案来了!

随着健康生活观念的深入人心,运动健身已成为一种生活态度,而音乐则是这场健康之旅中不可或缺的伴侣。然而,传统耳机在运动时的不便促使市场呼唤更加人性化的产品。骨传导耳机的出现,正是对这一需求的精准把握。它采用非入耳技术&a…

VTK平面切割

文章目录 一、vtkClipPolyData二、CapClip三、SolidClip四、vtkClipClosedSurface 本文的主要内容:简单介绍VTK中通过平面切割模型的相关功能。 哪些人适合阅读本文:有一定VTK基础的人。 一、vtkClipPolyData VTK官网描述: vtkClipPolyData使…

AI绘画 | Stable diffusion 修复老照片

大家好呀!今天我要和大家分享一个使用Stable diffusion修复老照片的功能。 你有没有遇到这样的问题:想要修复一张老照片,但是发现照片质量太差,噪点太多,根本无法修复? 别担心!Stable diffusio…

DS18B20温度传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.工作时序 3.工作原理:复位脉冲与应答脉冲 4.工作原理:写时序 5.工作原理:读时序 6.工作原理:DS18B20读取的数据格式 7.工作原理:DS18B20配置步骤 三、程序设计 ma…

vue 批量自动引入并注册组件或路由

有时候有大量的组件.vue后缀的,或.js,或.ts文件, 需要一个个的手动引入很麻烦,那么你可以尝试这样创建一个index.js 本项目使用vue3.x, vue2.x也可以照样用; 这里在components里面创建了一个idnex.js 文件 require.context 可以读取文件, 第一个参数是指当前文件夹, 第二个参…

路径优化 minimum-snap(对A*的全局路径进行优化)

实现效果: 介绍: 使用Astar进行路径规划,使用minimum-snap进行路径优化处理,建议参考文章: 【附源码和详细的公式推导】Minimum Snap轨迹生成,闭式求解Minimum Snap问题,机器人轨迹优化&#…

泥水位监测站——水文百科

传统的水位监测往往依赖于人工定期巡检,这不仅费时费力,而且可能受到天气、交通等多种因素的限制。而水位监测站的全自动化监测则能够24小时不间断地工作,无需人员现场值守,从而显著减少了人工巡检的次数和成本。自动化监测系统能…

全面解析BotSharp:如何利用.Net和LLMs革新你的业务系统

作为一名关注.Net与AI相关技术的博主,今天我要推荐一个开源项目——BotSharp。BotSharp 是一个基于 .Net的智能代理应用程序构建框架,专注于连接大型语言模型(LLMs)到现有业务系统中,以促进会话即平台(Conversation as…

模型案例:| 垃圾桶识别模型

导读 2023年以ChatGPT为代表的大语言模型横空出世,它的出现标志着自然语言处理领域取得了重大突破。它在文本生成、对话系统和语言理解等方面展现出了强大的能力,为人工智能技术的发展开辟了新的可能性。同时,人工智能技术正在进入各种应用领…

【Java|Stream流】不可变集合

文章目录 1.什么是不可变集合2.创建不可变集合的方式2.1 List类型2.2 Set2.3 Map 1.什么是不可变集合 不可变集合:不可以被修改的集合 不可变集合优点: 安全性 由于不可变集合不能被修改,所以可以安全地在多个线程之间共享,而不用担心被意外修改&#xf…

H264编码

H264是一种针对视频的压缩编码方式。 一、压缩方法 H264主要基于以下几种方法,将数据进行压缩: 1.帧内预测压缩:解决空间域数据冗余的问题 2.帧间预测压缩:(运动估计与补偿)解决时间域数据冗余的问题 3…

AD5270 AD5271 STM32 SPI驱动设计

硬件设计 AD5270 AD5271 简介:1024位、1%电阻容差误差、SPI接口和50-TP存储器数字变阻器。特性:单通道、1024/256位分辨率;标称电阻:20 kΩ,50 kΩ和100 kΩ;标称电阻容差误差:1%(最…

Android 11添加系统服务,并封装jar包供第三方应用使用

概述: 如果你是做技术支持,有没有遇到这种情况,客户既要实现具备系统权限的功能,但是呢,又不想把自己的应用做成系统应用。这时候你咋办。 我们可以添加一个具备系统权限的服务,不管前台的,还是…

原来这就是 布隆过滤器

1.布隆过滤器的引出 一个有趣的现象 不知道大家有没有发现这么一个现象,当我们在使用一些软件的时候,比如像 CSDN、这种具有推荐算法的应用,他并不会给我们推送我们已经浏览过的内容,这是怎么做到的呢? 说白了就是人…

【物理教学】高中物理速度时间练习

速度时间图像代码 这段代码是一个使用Python编写的脚本,它利用matplotlib库来绘制物理问题中的速度-时间图。代码的主要优点如下: 用户交互:代码通过input函数与用户进行交互,允许用户输入物理问题的参数,如初始速度…

钢结构厂房通风天窗使用场景探讨

钢结构厂房通风天窗作为现代建筑中高效通风的解决方案,广泛应用于多个领域,为各类建筑提供优质的室内环境。成都昱合昇带大家一起探讨通风天窗在不同使用场景下的表现。 1、工业厂房降温 工业厂房是通风天窗典型的应用场景之一。在高温季节或生产过程中产…

苏州科技大学商学院:加强生态保护,推动绿色发展

原标题:苏州科技大学商学院:加强生态保护,推动绿色发展,在美丽中国建设中贡献青春力量 建设美丽中国是全面建设社会主义现代化国家的重要目标,也是激励全国人民为实现中华民族伟大复兴中国梦而共同奋斗的伟大旗帜。中…

CSS3 文本效果(text-shadow,box-shadow,white-space等)文本溢出隐藏并且显示省略号

一 text-shadow text-shadow 属性是 CSS3 中用于为文本添加阴影效果的工具。它可以增强文本的可读性和视觉吸引力,提供丰富的视觉效果 1 语法 text-shadow: offset-x offset-y blur-radius color;offset-x:阴影相对于文本的水平偏移量。可以是正值&am…