文章目录

  • 问题分析
  • 修改过后的代码
  • 运行结果

先看一段代码

package study_static;public class Childgame {public static void main(String[] args) {//定义一个变量 count 统计有多少小孩假如游戏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非常的麻烦,没有用到面向对象编程
因此就有了 类变量/静态变量
如果涉及一个int count 表示总人数。在创建一个对象的时候就把count加1,并且count是对这些对象都共享的就好了。所以就需要用类变量来解决问题。

修改过后的代码

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

运行结果

System.out.println("child1.count=" + child1.count);System.out.println("child2.count=" + child2.count);System.out.println("child3.count=" + child3.count);

这三条语句输出一样的原因是

静态量的最大特点就是会被Child 类的所有对象实例共享
child1.count
child1.count
child1.count
这三个指向的都是同一个内存地址所以它们的值也是一样的。

Java中的类变量(静态变量static的具体用法快速入门))相关推荐

  1. Java中父类的静态变量和静态方法的继承问题

    1.普通父类的静态变量和方法,可以通过子类的名称访问和调用 2.普通父类的静态变量和方法,可以通过子类的实例对象访问和调用 3.抽象父类的静态变量和方法,可以通过具体子类的名称访问和调用 4.抽象父类 ...

  2. java 静态全局变量_静态变量static和全局变量global

    静态变量static , 全局变量global 静态变量 在java也叫类变量从名字可以看出它是属于某个类的而不是类的实例.它的关键字是static存储在静态存储区,当程序执行,类的代码被加载到内存, ...

  3. 常见Java面试题之静态变量和实例变量的区别

    静态变量和实例变量的区别有哪些? 静态变量和实例变量可能大多数同学用的比较多,但是相关阐述并不是很常见,尤其对新手同学可以不能清楚表达. 静态变量和实例变量也是最经常遇到的一个基础java面试题,不管 ...

  4. php父类的静态变量,抽象父类中的PHP静态变量:问题是在示例代码中!

    问题的快速代码包括: abstract class ClassParent { public static $var1 = "ClassParent"; } class Class ...

  5. php在类定义一个我静态变量,php中静态类与静态变量用法的区别分析_PHP教程

    php中静态类与静态变量用法的区别分析 static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了. 1. 创建对象$object = ...

  6. 静态变量static(C)

    static static是C语言关键字之一. static 数据类型用来给变量创建永久存储空间.静态变量在函数间调用时保持他们的值不变. 它的语法结构为: static c_type data_na ...

  7. 静态变量(static variable)

    静态变量(static variable) 我们可以创建具有 块作用域.无链接.静态存储期 的局部静态变量.其与局部自动变量一样,具有相同的作用域,但是程序在离开它们所在函数后,静态变量不会消失,在多 ...

  8. C语言静态变量static的分析

    对C语言静态变量static分析,解释了static为什么在局部变量里面定义的时候不会随着函数执行完毕而销毁,也稍微用解释了静态存储区和动态存储区的小知识 文章目录 学习static前要先认识 sta ...

  9. 静态变量static的理解

    static static是C语言关键字之一. static 数据类型用来给变量创建永久存储空间.静态变量在函数间调用时保持他们的值不变. 它的语法结构为: static c_type data_na ...

最新文章

  1. 如何调试 web worker
  2. 调用反射类的指定方法
  3. 章国锋:视觉SLAM最新观点分享
  4. 开博第二篇-win7下的小凡模拟器-DynamipsGUI
  5. 现在市面上卖的贵州茅台镇原浆酒20元一瓶是什么酒?
  6. Java并发编程笔记
  7. PHP curl 请求不到数据 errno 52 ,empty replay form service
  8. 叉乘:基于虚拟线圈法的车流量统计
  9. 计算机启动时默认输入法设置,每次开机都需要重设,教你电脑输入法怎么设置默认模式...
  10. 微信登录报错40125和-6签名秘钥问题解决方案
  11. 狼的处世十大哲理(想养狼的人必应)
  12. 电脑键盘equals在哪个位置_学习第二步equals;equals;电脑键盘使用--快捷键大全
  13. CAD图纸打印文字显示空心怎么办?
  14. 怎样剪切视频中的一段音频
  15. 蛮力法基本了解及练习
  16. JAVA 接口 验证哥特巴赫猜想
  17. 北邮矩阵论- 第1章 1.1线性空间
  18. 利用内容营销来推动长尾词SEO优化
  19. acwing-241. 楼兰图腾-树状数组板子题+开脑洞
  20. 小波变换(wavelet transform)

热门文章

  1. Failed to maintain projects LRU cache for dir *********
  2. 交换两个变量的值,不使用第三个变量的四种法方法
  3. day5 Java中的方法与重载
  4. mjorm java_MongoDB 的 ORM框架 MJORM
  5. plSql安装以及连接远程oracle相关配置
  6. 如何快速的了解java的I/O流,由浅到深
  7. sqlserver 如何将exec的结果保存到一个变量_SQL Server之SQL Trace选项
  8. android json字符串转成json对象_C++ 两行代码实现json与类对象互转
  9. ajax js java省市三级联动菜单,AJAX省市区三级联动下拉菜单(java版)
  10. 一个字形容大数据_嘉禾数据科学分享(八):一个大数据专业教师眼里的大数据