这篇我们再介绍一个static使用的例子。需要两个文件,一个Student.java,一个MyClass.java。

1. Student.java的代码如下

package Lessons;public class Student {String name;int age;static int NoOfStudents = 0;Student(){NoOfStudents++;}public int getNoOfStudents(){return NoOfStudents;}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;}}

上面写了三个成员变量,一个静态变量,两个普通成员变量。还写了一个构造函数,构造函数内部,使得学生学号这个变量自动加1,如果被调用一次。还写了一个实例方法,用来获取学号的最新值。
2. MyClass.java的相关代码

package Lessons;public class MyClass {public static void main(String[] args) {Student Anthony = new Student();System.out.println(Anthony.getNoOfStudents());Student Tom = new Student();System.out.println(Tom.getNoOfStudents());System.out.println(Student.NoOfStudents);}}

测试显示 1,2, 2,可以发现,两个实例对象共享一个静态变量的值。前面两个打印语句是实例对象调用实例方法,第三个打印语句是类调用静态变量。

Java基础教程23-static举例相关推荐

  1. Java基础教程-05-面向对象

    Java基础教程-05-面向对象 1. 面向过程和面向对象解释 1.1 面向过程 1.1.1 简述 我们回想一下, 前面我们完成一个需求的步骤是怎样的? 首先是搞清楚我们要做什么. 然后在分析怎么做. ...

  2. Java基础教程:反射基础

    Java基础教程:反射基础 引入反射 反射是什么 能够动态分析类能力的程序称为反射. 反射是一种很强大且复杂的机制. Class类 在程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时 ...

  3. Java基础教程:多线程基础(3)——阻塞队列

    Java基础教程:多线程基础(3)--阻塞队列 快速开始 引入问题 生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据. 模 ...

  4. Java基础教程:面向对象编程[2]

    Java基础教程:面向对象编程[2] 内容大纲 访问修饰符 四种访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default ...

  5. Java基础教程(12)--深入理解类

    一.方法的返回值   当我们在程序中调用方法时,虚拟机将会跳转到对应的方法中去执行.当以下几种情况发生时,虚拟机将会回到调用方法的语句并继续向下执行: 执行完方法中所有的语句: 遇到return语句: ...

  6. Java基础教程:Lambda表达式

    Java基础教程:Lambda表达式 引入Lambda Java 是一流的面向对象语言,除了部分简单数据类型,Java 中的一切都是对象,即使数组也是一种对象,每个类创建的实例也是对象.在 Java ...

  7. Java基础教程:注解

    Java基础教程:注解 本篇文章参考的相关资料链接: 维基百科:https://zh.wikipedia.org/wiki/Java%E6%B3%A8%E8%A7%A3 注解基础与高级应用:http: ...

  8. Java基础教程-刘刚-专题视频课程

    Java基础教程-2704人已学习 课程介绍         Java基础教程是一套入门Java开发语言的课程,它是由浅入深的介绍Java基础内容,包括Java介绍.基本类型及运算符.控制执行流程.字 ...

  9. java基础教程(一)

    Java 开发环境配置 在进行Java开发之前,需要先安装Java开发工具包(JDK)和集成开发环境(IDE).以下是Java开发环境的配置和搭建步骤: 下载JDK:访问Oracle官方网站,选择适合 ...

  10. Java基础教程-10-多线程

    Java基础教程-10-多线程 1. 多线程 我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计? 要解决上述问题,咱们得使用多进程或 ...

最新文章

  1. Android开发实践:为什么要继承onMeasure()
  2. 网站推广专员浅析不做大幅修改如何调整网站推广内容?
  3. Hibernate配置文件,省的到处找了
  4. 黑马程序员之单例模式学习
  5. spring的DI/IOC机制
  6. zencart 后台 tool-define page editor define define_main_page.php
  7. 【RabbitMQ】8、RabbitMQ之mandatory和immediate
  8. linux 7修改主机名重启后不生效_Linux 中改变主机名的 4 种方法 | Linux 中国
  9. 一文带你了解数据中心大二层网络演进之路
  10. [Android]使用Gradle提交自己开源Android库到Maven中心库
  11. 怎么保存在界面输入的内容_还在担心忘记密码?使用这款软件轻松找回浏览器中保存的密码...
  12. 《设计模式详解》软件设计原则
  13. python从0开始学编程第三天第9讲_【原创笔记1】Python从0学起——Starting from 0 learning Python(The First Day)...
  14. Mac Mojave10.14安装vmvare Fusion 11.0.0 win8 镜像
  15. 机器学习(一)——基础概念
  16. 如何计算EEG信号的香农熵Shannon entropy(附Matlab程序)
  17. 索罗斯:走在时间前面的狐狸
  18. 面试笔试杂项积累-leetcode 6-10
  19. int、dev、uat、prod、pp、sit、ides、qas、pet、sim、zha环境是什么
  20. 苹果试玩换个新id行不_【图】- 日照市苹果app换个id重复刷试玩能不能 - 昆山玉山其他服务 - 昆山百姓网...

热门文章

  1. 3S电池过放的一种处理办法
  2. Debian的终端界面
  3. c语言文件后缀名怎么隐藏起来,win10中怎样查看被隐藏的文件后缀名 win10显示文件后缀名的设置方法...
  4. mysql 索引的目的是什么_SQL 创建索引的目的是什么?
  5. 长沙理工大学计算机学院导师,长沙理工大学数学与计算机科学学院导师介绍:李友云...
  6. 学习笔记 css background 图片
  7. php文本输入数字,JavaScript实现文本框只能输入数字的方法介绍
  8. Android Theme 主题里的几个设计颜色的属性
  9. Yii2常用数据库操作整理
  10. 基于改进的DBN降水预测方法(Matlab代码实现)