浏览器标题切换
浏览器标题切换end

Intern Day86 - C#static关键字的使用(C++同理)

语法

  1. 静态方法关键字:static

  2. 静态方法如何调用/使用方法:直接 类名.方法名( ) ,不需要new一个对象/实例化,通过类名直接调即可

注意

在C++中,this关键字不能用于static方法中。(概念冲突了)

原因:

static:修饰的变量或者方法是属于类,一般通过类名调用。static修饰的方法,在程序编译时就已被加载到内存中,而不是创建实例的时候才产生。static修饰的方法是类方法,类方法是不需要当前类实例化(即new一个对象)就能够访问的方法。
this:是当前类自身的new出来的一个实例。使用this可以调用方法所在对象自身的变量/方法。
在JAVA中,当一个对象创建后,Java虚拟机JVM就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。

简单来说:

static不需要通过new,它直接就可以调用方法;但是this的话是实例化后才能调用。

C#代码示例

using System;
using System.Transactions;

class Test
{
    public static void Add(double a,double b)
    {
        double c = a + b;
        Console.WriteLine("x+y=" + c);
    }

    public void Sub(double a, double b)
    {
        double c = a - b;
        Console.WriteLine("x-y=" + c);
    }
}


class Program
{
    public static void Main(string[] args) // static void Main(string[] args)
    {
        Test.Add(2,3);  // 调用静态方法
        Test x = new Test(); // wrong:Subx = new Sub();  // 调用非静态/一般方法
        x.Sub(2, 3);
    }
}

输出:

x+y=5
x-y=-1
posted @ 2021-05-14 13:49  抓水母的派大星  阅读(55)  评论(0编辑  收藏  举报