浏览器标题切换
浏览器标题切换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 @   抓水母的派大星  阅读(60)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示