C#类中定义的方法,为什么有些必须经过实例化才能调用,而有些方法不必实例化就可以调用?

如题~

类有抽象类和非抽象类之分

public class Text
{}
上面定义了一个类,它叫做类
Text Text1=new Text();
Text Text2=new Text();
上面定义了两个对象Text1和Text2,是类Text的具体实例,它们叫对象。即Text经过实例化得到Text1和Text2对象。一定要分清类和对象的关系,比如 人 是一个类,而你和我就是人的一个对象。

类还有抽象类
abstract public class People
{}
上面定义了一个抽象类,它不可以实例化,只能被继承

希望对你有帮助,你之所以不明白为什么有的要被实例化,有的不需实例化,就是还没搞清什么是面向对象的编程呢
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-27
在类内部是不需要实例化的,外部的话只有静态方法可以用类名直接调用,其它都要实例化才能再调用.
第2个回答  2011-06-27
建议你去看看 static 关键字的说明。
静态方法不必实例化就可以调用,否则必须经过实例化才能调用。本回答被提问者和网友采纳
第3个回答  2020-05-30
类分为静态类与非静态类,类的实例化就是对象
非静态下可以分为静态方法和非静态方法,静态类只能是静态方法 对应具体方法中的成员(类成员)静态可直接调用,非静态需要实例化对象后使用

C#类中定义的方法,为什么有些必须经过实例化才能调用,而有些方法不必实...
上面定义了两个对象Text1和Text2,是类Text的具体实例,它们叫对象。即Text经过实例化得到Text1和Text2对象。一定要分清类和对象的关系,比如 人 是一个类,而你和我就是人的一个对象。类还有抽象类 abstract public class People {} 上面定义了一个抽象类,它不可以实例化,只能被继承 希望对你有...

c#中 类什么时候需要实例化,什么时候不需要
你要看你的方法前面定义的时候,是否有:static关键字修辞,如果有那你调用这个方法的时候,不用实例化,如果没有使用static 关键字修辞,那么你就要实例化

调用某个类的方法,什么情况下需要实例化类,什么情况下不需要实例化呢...
静态的成员变量和方法,都是不需要进行实例化类的。可以直接调用。非静态的成员变量和方法,都要进行实例化类的。才可以调用。

在调用一些Python里的函数的时候 为什么有些函数需要实例化有些不需要...
如果一个方法是静态方法或类方法,那么,可以直接调用。如果一个方法不是静态的,那么,它会需要self来访问实例中的某些属性,那么就只能在实例上调用。你给出的代码中,tensor_trans = transforms.ToTensor()这一句,实际上只是简化引用,并没有实例化transforms。作为示例:class MyUtil(object):...@...

C#为什么不能在一个类中调用另一个类的变量,而必须是在方法里实例化后...
所以,你在classA中,去操作类内部的变量,肯定是可以的,因为代码一定会运行,而你在classB中,你是在运行B的代码,如果你要调用x,你就要先把classA给实例化,让编译器知道你在用A了,才可以调用A中的x。如果你想不用new 就访问一个变量,可以使用static修饰符 public static class A { public...

C#为什么要实例化,而不全用静态的
这样C#就模块化了,而静态的恰恰破坏了这种结构,能少用就少用能不用就不用。如果有一天你要改进这些静态的东西,就会发现静态方法和变量的不方便,所有用过这个静态方法的对象或者函数你都要重新修改,耦合越大,你的工作量就越大而且容易出错。至于"在使用类方法的时候该如何选择",还是那句话,静态...

C# 为什么在main函数中不能用this 实例化对象切可以
静态函数不属于任何一个对象,是全体对象共有 this 表示当前对象 而静态函数不在对象内 因此“当前对象”的概念就不适用了 刚才我给你那个贴的回复 就给我分吧 这个分貌似也该给我吧

C#:对类的实例化要放在方法里面吗?为什么我在方法外实例化了一个类...
类的实例化可以在方法外面也可以在方法里面,访问类的方法要注意看方法的访问限制修饰符,如果是private的则外部不可访问,如是protect则非子类不可访问,如是internal则非在一个程序集不可访问,如是public则都可访问,还有要看方法是否为静态方法,是则必须通过类名.方法名访问 ...

在C#中如何定义不能被实例化的类?何时定义一个不需要实例化的类?
可以将类声明为密封类。方法是在类定义中将关键字 sealed 置于关键字 class 的前面。例如:public sealed class D { \/\/ Class members here.} 密封类不能用作基类。因此,它也不能是抽象类。密封类主要用于防止派生。由于密封类从不用作基类,所以有些运行时优化可以使对密封类成员的调用略快。在...

C# 调用不到类里面的函数?是调用方法有问题还是类里面函数有问题?但...
如果方法不是用private(私有的)修饰的是能够调用的。如果你是同图片那样直接通过类名点出方法来的话是只能调用到静态方法(也就是static修饰的方法)的。没用static修饰的方法要通过类的实例才能点出来。如:MY.INIrw inirw=new MY.INIrw();Inirw.方法名称;望采纳 ...

相似回答