java从零单排(六) 静态域与静态方法

静态域
class Employee {
    private static int nextId = 1;
    private int id;
}

‘如果将域定义为static,每个类当中只有一个这样的域。而每一个对象对于所有对象所有的实例域却都有自己的一份拷贝’。如果我实例化了一千个Employee对象,里面就有一千个不同的id,而nextId却还是共享同一个,这就是静态域,所以这种静态域,所以配合上static,就可以有静态变量,静态方法,还有静态常量。

1.静态常量

上一个demo就是静态变量的用法,但是实际场景中静态变量用的非常少,而静态常量用的比较多:

public static final String URL = 'http://www.balabala.com';  //随便敲得,这要是敲进什么非法网站我可不负责

往往就是先定义这样的一个变量,然后在外部或者内部的方法使用即可

2.静态方法

书中的解释是‘静态方法是一种不能向对象实施操作的方法’(讲道理完全没看懂这句话什么意思),但是通过后面的代码理解来看,其实静态方法,就是可以不需要new去实例化这个方法也可以直接使用的方法。

class Employee {
    private static int nextId = 1;
    private int id;
    public static  int getNextId(){
        return nextId;
    }
}

Employee.getNextId();

这里这个方法可以访问静态变量nextId,但是确不能访问id(为什么?不要问我为什么,这些就是java设定的语法啊),这个教程开始的第一个demo用的main方法就是一个静态方法,每一个类只能有一个main方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值