静态方法的方法使用

 我来答
晚晚Zj_49
2016-05-17
知道答主
回答量:75
采纳率:100%
帮助的人:12.6万
展开全部

静态方法与静态变量一样,属于类本身,而不属于那个类的一个对象。调用一个被定义为static的方法,可以通过在它前面加上这个类的名称,也可以像调用非静态方法一样通过类对象调用。
实例方法必须通过类的实例来使用。实例方法可以使用类的非静态成员,也可以使用类的静态成员。
类的静态方法,静态变量是在类装载的时候装载的。但是要特别注意,类的静态变量是该类的对象所共有的,即是所有对象共享变量。所以建议尽量少用静态变量。尽量在静态方法中使用内部变量。 其中static关键字即表示静态的。声明静态方法的语法如下:
<访问修饰符>static返回类型 方法名(参数列表)
{//方法体} 静态方法与实例方法唯一不同的,就是静态方法在返回类型前加static关键字。静态方法的调用有两种途径:
(1)通过类的实例对象去调用
调用格式为: 对象名.方法名
(2) 通过类名直接调用
调用格式为: 类名::方法名 我们在使用时要注意:
静态方法只能访问类的静态成员,不能访问类的非静态成员;
非静态方法可以访问类的静态成员,也可以访问类的非静态成员;
静态方法既可以用实例来调用,也可以用类名来调用。 #include<iostream>  using namespace std;
class CStaticTest{  public:  CStaticTest(int a)  {  this->a = a;  }  ~CStaticTest(){}
static int add(CStaticTest& c1, CStaticTest& c2)  {  return c1.a + c2.a;  }
private:  int a;  };
int main()  {  CStaticTest tmp1(1);  CStaticTest tmp2(2);  int sum1 = tmp1.add(tmp1, tmp2);  int sum2 = CStaticTest::add(tmp1, tmp2);
cout << sum1 << endl;  cout << sum2 << endl;  return 0;  } 1. 有静态属性的类,一般会定义静态方法。
2. 没有属性的类,一般会定义静态方法,这样在使用时,通过类名::方法名即可调用,
而不用先定义对象,再调用,这样可以省去一行代码。

Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式