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

【百日精通JAVA | 语法篇】static关键字

一、static是什么?

        static专门用于修饰成员变量和成员方法,被static修饰过的方法和变量我们称之为,静态变量和静态方法

二、static的内存图

 代码如下:

注意:静态对象是随着类加载而加载的,优先于对象出现的。

三、练习

         

        Test.java

import java.util.ArrayList;//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Test {public static void main(String[] args) {//创建一个集合存储学生对象ArrayList<Student> list = new ArrayList<>();Student stu1 = new Student("zhangsan",15,"男");Student stu2 = new Student("lisi",16,"男");Student stu3 = new Student("wangwu",17,"男");list.add(stu1);list.add(stu2);list.add(stu3);int max = StudentUtil.getMaxAgeStudent(list);System.out.println(max);}
}

        StudentUtil.java

import java.util.ArrayList;public class StudentUtil {private StudentUtil(){};public static int getMaxAgeStudent(ArrayList<Student> list){int max = list.get(0).getAge();for (int i = 1; i < list.size(); i++) {if(max < list.get(i).getAge()){max = list.get(i).getAge();}}return max;}
}

        Student.java

public class Student {private String name;private int age;private String gender;public Student() {}public Student(String name, int age, String gender) {this.name = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}

三、static的注意事项

        静态方法只能访问静态变量和静态方法。

        非静态方法可以访问静态变量和静态方法,也可以访问非静态的成员变量和非静态的成员方法。

        静态方法中没有this关键字。

http://www.lqws.cn/news/571465.html

相关文章:

  • CppCon 2017 学习:Undefined Behavior in 2017
  • idea运行到远程机器 和 idea远程JVM调试
  • x86 rop攻击理解2
  • 设计模式-外观模式、适配器模式
  • 设备健康状态实时监测:从技术原理到中讯烛龙的智能实践
  • X-Search:Spring AI实现的AI智能搜索
  • redis延时双删,为什么第一次删除
  • 检查达梦外部表
  • ROS的可视化工具rviz介绍
  • wpf的Binding之UpdateSourceTrigger
  • PaddleNLP
  • 桌面小屏幕实战课程:DesktopScreen 18 FONTPAINT
  • RAG检索增强生成在垂类AI应用效能优化中的应用
  • 【硬核数学】6. 升级你的线性代数:张量,深度学习的多维数据语言《从零构建机器学习、深度学习到LLM的数学认知》
  • 【Java EE初阶 --- 多线程(进阶)】锁策略
  • 构建创意系统:驾驭Audition与Photoshop的AI之力,洞悉原子化设计哲学
  • Cursor1.1.6安装c++插件
  • MyBatis实战指南(八)MyBatis日志
  • 【数据集处理】基于 3D-GloBFP建筑轮廓数据 栅格化建筑数据(完整Python代码)
  • Day.46
  • 水果维生素含量排名详表
  • 【硬核数学】9. 驯服“梯度下降”:深度学习中的优化艺术与正则化技巧《从零构建机器学习、深度学习到LLM的数学认知》
  • 【JavaSE】反射学习笔记
  • 中州养老:学会设计数据库表
  • WebRTC(十三):信令服务器
  • Spring事件驱动模型核心:ApplicationEventMulticaster初始化全解析
  • 图书管理系统练习项目源码-前后端分离-使用node.js来做后端开发
  • NV064NV065美光固态闪存NV067NV076
  • 申论审题训练
  • DEPTHPRO:一秒内实现清晰的单目度量深度估计