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

Java基础 8.13

1.引出类变量和类方法

传统方法解决以下问题

package com.logic.static_;public class ChildGame {public static void main(String[] args) {int count = 0;Child child1 = new Child("白骨精");child1.join();count++;Child child2 = new Child("狐狸精");child2.join();count++;Child child3 = new Child("蜘蛛精神");child3.join();count++;System.out.println("共有" + count + "个小孩加入了游戏...");}
}class Child {private String name;public Child(String name) {this.name = name;}public void join() {System.out.println(name + "加入了游戏...");}
}

问题分析

  • count是个单独的变量,独立于对象
  • 以后访问count都很麻烦,没有使用到OOP
  • 因此引出类变量/静态变量

2.类变量快速入门

package com.logic.static_;public class ChildGame {public static void main(String[] args) {int count = 0;Child child1 = new Child("白骨精");child1.join();//count++;child1.count++;Child child2 = new Child("狐狸精");child2.join();//count++;child2.count++;Child child3 = new Child("蜘蛛精神");child3.join();//count++;child3.count++;//类变量可以通过类名来直接访问System.out.println("共有" + Child.count + "个小孩加入了游戏...");}
}class Child {//定义一个变量count 是一个类变量(静态变量) static静态//该变量的最大特点就是会被Child类所有的对象实例共享public static int count = 0;private String name;public Child(String name) {this.name = name;}public void join() {System.out.println(name + "加入了游戏...");}
}

3.类变量的内存布局

  • 不管static变量在哪里,static变量是同一个类所有对象共享
  • static类变量,在类加载的时候就生成

4.类变量定义访问

什么是类变量

类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量

如何定义类变量

定义语法

访问修饰符 static 数据类型 变量名(推荐)

static 访问修饰符 数据类型 变量名

如何访问类变量

类名.类变量名(推荐)

或对象名.类变量名(静态变量的访问修饰符的访问权限和范围和普通属性是一样的)

http://www.dtcms.com/a/329443.html

相关文章:

  • 【Flowable】工作流网关 控制流程的流向
  • 深度学习——03 神经网络(3)-网络优化方法
  • 门店销售机器人的智能升级:具身智能模型带来的变革
  • Mac安装ant
  • Linux性能分析教程:top, htop, iotop命令使用详解 (服务器慢/卡顿排查)
  • 电脑如何安装win10专业版_电脑用u盘安装win10专业版教程
  • GO学习记录四——读取excel完成数据库建表
  • 10.反射获取静态类的属性 C#例子 WPF例子
  • 5.0.9.1 C# wpf通过WindowsFormsHost嵌入windows media player(AxInterop.WMPLib)
  • BGE向量算法
  • C++冒泡、选择、快速、桶排序超超超详细解析
  • 20. 有效的括号 - 力扣(LeetCode)
  • P1886 滑动窗口 /【模板】单调队列【题解】
  • 《Foundations and Recent Trends in Multimodal Mobile Agents: A Survey》论文精读笔记
  • [量化交易](1获取加密货币的交易数据)
  • 面试实战 问题三十 HTTP协议中TCP三次握手与四次挥手详解
  • 解决程序连不上RabbitMQ:Attempting to connect to/access to vhost虚拟主机挂了的排错与恢复
  • 循序渐进学 Spring (上):从 IoC/DI 核心原理到 XML 配置实战
  • DataOceanAI Dolphin(ffmpeg音频转化教程) 多语言(中国方言)语音识别系统部署与应用指南
  • Vue 3 源码解读与核心 API 分析
  • EN 62368消费电子、信息技术设备和办公设备安全要求标准
  • mybtias集成spring原理?--spring,mybatis源码解析
  • 后端Web实战-MySQL数据库
  • Si an(1)
  • Linux高级编程-framebuffer
  • 华为悦盒EC6108V9-1+4G版-盒子有【蓝色USB接口】的特殊刷机说明
  • 数据分析全景:从数据到决策的完整链路与核心要义
  • 《Python学习之基础语法2:掌握程序流程控制的艺术》
  • 【分布式 ID】一文详解美团 Leaf
  • TCP Socket 编程实战:实现简易英译汉服务