c#静态方法中为什么可以调用非静态的构造函数?比如实例化对象!!

2024-12-19 14:19:45
推荐回答(3个)
回答1:

C#不熟 但是玩过C++
1.面向对象的预言里面 静态方法无非就是独立于对象的一种方法。这种方法不需要要实例化具体的对象,通过类名即可调用,很多工具类用的就是公开的静态方法。
2.没有非静态的构造函数这么一说,可以说 静态函数和构造函数本身就是互斥的。
3.静态函数不代表不能在函数体内去实例化一个对象,建议看看工厂模式。典型的静态方法中实例化一个具体的类对象。

回答2:

为什么不可以调用?静态方法不过是一段程序而已,所有的程序的入口都必须是静态的,不然无法运行,静态的程序不能调实例化方法,那跟C还有什么区别。

讲白了方法什么的其实不过就是个带this指针的函数而已

回答3:

静态方法可以通过类名访问,也可以通过创建对象访问。