zl程序教程

您现在的位置是:首页 >  其他

当前栏目

C# 静态类与非静态类

2023-02-26 10:20:50 时间

区别

静态类与非静态类的重要区别在于==静态类不能实例化==,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。

特点

1、静态类中只能包含 静态成员(构造方法、字段、属性),在静态类中无法实例化

下面这些是测试

(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>

1.1 静态类中声明静态变量

错误演示
C# 静态类与非静态类
实例成员就是需要实例化以后才能用的(我这个类要New才能用)
我们给这个变量加上static以后就可以用了,变成静态变量了
C# 静态类与非静态类

1.2 静态类中声明静态方法

我们在静态类中搞一个带参函数
错误演示
C# 静态类与非静态类加个static
C# 静态类与非静态类
我们看下如何输出静态方法和静态变量,把上面两个输出一下
StaticClass1.cs

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace StatacTest {     public static class StaticClass1     {         public static string name = "lucky";          public static int returnAge(int age)         {             return age;          }     } }

Program.cs

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace StatacTest {     class Program     {         static void Main(string[] args)         {             //输出静态类中的静态变量和静态方法             Console.WriteLine(StaticClass1.returnAge(6));             Console.WriteLine(StaticClass1.name);         }     } } 

C# 静态类与非静态类

2、在非静态类中可以声明静态类成员

NoStaticClass.cs

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace StatacTest {     class NoStaticClass     {         public static char sex='男';         public static int PrintTel(int tel)         {             return tel;         }     } } 
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace StatacTest {     class Program     {         static void Main(string[] args)         {                    //输出非静态类中的静态变量和静态方法             Console.WriteLine(NoStaticClass.sex);             Console.WriteLine(NoStaticClass.PrintTel(66666666));         }     } } 

C# 静态类与非静态类
我们把NoStaticClass.cs里面的static去掉
C# 静态类与非静态类
在输出脚本上马上就报错了

C# 静态类与非静态类需要实例化以后才能搞
C# 静态类与非静态类

C# 静态类与非静态类


本站部分内容转载自网络,版权属于原作者所有,如有异议请联系QQ153890879修改或删除,谢谢!
转载请注明原文链接:C# 静态类与非静态类

你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:

1、点击这里立即申请成为腾讯云VIP客户

2、点击这里立即注册成为天翼云VIP客户

3、点击这里立即申请成为华为云VIP客户

4、点击这里立享阿里云产品终身VIP优惠价

喜欢 (0)
[[email protected]]
分享 (0)