静态变量、常量和方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


要点

静态变量被类中的所有对象所共享。静态方法不能访问类中的实例成员。


1、实例变量是绑定到类的某个特定实例的,它是不能被同一个类的不同对象所共享的。例如,创建了如下的两个对象:

Circle circle1 = new Circle();
Circle circle2 = new Circle(5);

circle1中的radius和circle2中的radius是不相关的,它们存储在不同的内存位置。 circle1中的radius的变化不会影响 circle2中的radius,反之亦然。


2、如果想让一个类的所有实例共享数据,就要使用静态变量(static variable),也称为类变量(class variable)。静态变量将变量值存储在一个公共的内存地址。所以如果某一个对象修改了静态变量的值,那么同一个类的所有对象都会受到影响。Java支持静态方法和静态变量,无须创建类的实例就可以调用静态方法(static method)

要声明一个静态变量或定义一个静态方法,就要在这个变量或方法的声明中加上修饰符static。静态变量numberOfObjects和静态方法getNumberOfObjects()可以如下声明:

static int numberOfObjects;
static int getNumberOfObjects(){
  return numberOfObjects;
}

类中的常量是被该类的所有对象所共享的。因此,常量应该声明为final static,例如,Math类中的常量PI是如下定义的:

final static double PI = 3.14159265358979323846;

3、实例方法和实例数据都是属于实例的,所以它们在实例创建之后才能使用。它们是通过引用变量来访问的。静态方法和静态数据可以通过引用变量或它们的类名来调用。


4、建议使用“类名.方法名(参数)”的方式调用静态方法,使用“类名.静态变量”的方式访问静态变量,以提高程序可读性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值