静态成员,this指针

1.1对象数组,对象指针
对象数组和对象指针
    类实际是一种自定义数据类型,既然是一种数据类型,就可以用它来定义各种不同的变量(即对象)。对象数组就是用类定义的数组,它的每个元素都是对象。
    也可以定义对象的指针,用指针指向类对象。对象指针与结构指针的访问方法相同,用“->”或“(*指针).”两种操作符访问其所指对象的成员。
1.2静态成员和静态变量
1、静态成员
    java允许类的成员定义为静态成员。静态数据成员是属于类的,整个类只有一份拷贝,相当于类的全局变量,能够被该类的所有对象共用。
(1)    静态成员的声明:
在类数据成员的声明前加上关键字static,就将该成员指定成了静态成员数据。静态数据成员遵守public,private,protected访问权限的限制规则,形式如下:
Class x{
  ……
   Static 类型 静态成员名;
……
}
(2)    静态成员的定义:
在类的声明中将数据成员指定为静态成员,只是一种声明,并不会为该成员分配内存空间,在使用之前应该对它进行定义,与类成员函数的定义方法一样,其定义形式如下:
    类型   类名::静态成员名;
    类型   类名::静态成员名=初始值;
    注意:
    在类外定义静态数据成员时,不能加上static限定词。
    在定义静态数据成员时可以指定它的初始值(第2种定义形式),若定义时没有指定初始值,系统默认初始值为0。
原则上类的静态成员必须在类外定义,否则会出错。但在一些编译器中,若没有在类外进行静态数据成员的定义,它会在定义该类的第一个对象时定义相关的静态数据成员(即为所有的静态数据成员分配内存空间),并将这些静态数据成员初始化为0。
(3)    静态数据成员的访问:
静态成员属于整个类,如果将它定义为类的公有成员,在类外可用下面两种方式访问。
   通过类名访问(这种访问方式是非静态成员不具有的):
类名::静态成员名;
   通过对象访问:
对象名.静态成员名
静态数据成员的一种典型应用是用来统计相关类的对象个数。
1.3this指针
类的每个对象都有自己的数据成员,有多少个对象,就有多少分数据成员的拷贝。然而类的成员函数只有一份拷贝,不论多少个对象,都用以这份成员函数。那么对象是怎样公有这份成员函数的呢?换句话说,在程序运行过程中,成员函数怎样知道哪个对象在调用它,它应该处理哪个对象的数据成员呢?答案就是this指针。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值