零基础学Java(12)静态字段与静态方法

静态字段与静态方法

  之前我们都定义的main方法都被标记了static修饰符,那到底是什么意思?下面我们来看看
 

静态字段

  如果将一个字段定义为static,每个类只有一个这样的字段。而对于非静态的实例字段,每个对象都有自己的一个副本。例如,假设需要给每一个员工赋予唯一的标识码。这里给Employee类添加一个实例字段id和一个静态字段nextId

highlighter- Java

class Employee {
    // 定义静态字段nextId
    private static int nextId = 1;
    private int id;
}

  现在,每一个Employee对象都有一个自己的id字段,但这个类的所有实例将共享一个nextId字段。换句话说,如果有1000个Employee类对象,则有1000个实例字段id,分别对应每一个对象。但是,只有一个静态字段nextId。即使没有Employee对象,静态字段nextId也存在。它属与类,而不属于任何单个的对象。
  下面实现一个简单的方法:

highlighter- Java

public void setId() {
    id = nextId;
    nextId++;
}

  假定为harry设置员工标识码:

highlighter-

harry.setId();

  harry的id字段被设置为静态字段nextId当前的值,并且静态字段nextId的值加1:

highlighter- Python

harry.id = Employee.nextId;
Employee.nextId++

静态常量

  静态变量使用的比较少,但静态常量却很常用。例如,在Math类中定义一个静态常量:

highlighter- Java

public clas
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值