zoukankan      html  css  js  c++  java
  • 有些方法为什么会声明称static静态的

    有些方法在调用的时候,没有必要都要先实例化一下,只需要:[类名. 静态方法 ]就行了。

    哪些方法的调用没有必要实例化呢?网上找了个例子:

    举个例子:Car类,
    1.静态方法Run(),
    Car.Run(); //访问方式:类.方法(); 静态方法也可以叫做类方法

    2.非静态方法Color()
    Car car1 = new Car();
    car1.Color(); //实例化后才可以访问,具体到某部车才有颜色
    car1.Run(); //实例化后,也可以访问静态方法,(不推荐)

    假如想知道你的车是怎么跑得(调用),没有必要把特定的一辆车开到你面前演示怎么跑得(实例化),因为汽车跑都是一个样子的,只要想一想汽车怎么跑得就知道了。这时,跑Run()声明称静态的。
    但是如果想知道你的汽车的某一个特性,比如颜色,你可能就要到车前面去看一看了(实例化)。Color()这个方法就不是静态的了。

    其他:

    1)静态方法不再是针对某个对象调用,所以不能访问非静态成员
    2)在静态方法中不能调用非静态属性,也不能调用非静态方法(因为static属性或方法可以在对象没有实例化就可以直接调用

    知识点:
    声明static类型的属性或方法之后此属性或方法也称为类方法,可以有类名称直接调用。
    一般调用static属性的时候最好是使用类名称直接调用,采用“类名.属性”的方式调用。

    int a=10;

    static void Func()
    {
      Console.WwriteLine(a);//这样写是错误的,静态方法不能调用非静态成员。static int a=10;就对了。

    }

  • 相关阅读:
    杭电 Problem
    杭电Problem 5053 the sum of cube 【数学公式】
    杭电 Problem 2089 不要62 【打表】
    杭电 Problem 4548 美素数【打表】
    杭电 Problem 2008 分拆素数和 【打表】
    杭电 Problem 1722 Cake 【gcd】
    杭电 Problem 2187 悼念512汶川大地震遇难同胞——老人是真饿了【贪心】
    杭电Problem 1872 稳定排序
    杭电 Problem 1753 大明A+B
    东北林业大 564 汉诺塔
  • 原文地址:https://www.cnblogs.com/zhibolife/p/3699889.html
Copyright © 2011-2022 走看看