c# - clsObject.Method() 和 new Class().Method() 的区别?

标签 c# asp.net oop

假设我正在上课

Class ABC
 {
  public string Method1()
  {
   return "a";
  }
  public string Method2()
  {
   return "b";
  }
  public string Method3()
  {
   return "c";
  }
 }

现在我用两种方式调用这个方法:

ABC obj=new ABC();
Response.Write(obj.Method1());
Response.Write(obj.Method2());

另一种方式

Response.Write(new ABC().Method1());
Response.Write(new ABC().Method2());

以上两种方法的输出是一样的。

能否请一些人帮助我理解 obj.Method1()new ABC().Method1() 之间的区别

提前致谢..

最佳答案

objnew ABC() 是独立的实例。在您的示例中,输出是相同的,因为没有要显示的实例级数据。

试试看区别:

Class ABC
 {

  public string Name = "default"; 

  public string Method1()
  {
   return "a";
  }
 }

然后使用下面的代码来显示与实例级数据的区别:

ABC obj=new ABC();
obj.Name = "NewObject";
Response.Write(obj.Method1());
Response.Write(obj.Name);

Response.Write(new ABC().Method1());
Response.Write(new ABC().Name);

关于c# - clsObject.Method() 和 new Class().Method() 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11437925/

相关文章:

C# .NET 正则表达式问题

iphone - 类属性 mVar 和实例变量 self.mVar 的区别

c# - 在 WP7 上显示动画图像

c# - 想要启用可空引用类型时如何处理可选参数?

c# - 将通用列表值复制到另一个通用列表

c# - 捆绑 css 文件 - 找不到文件

php - Web 开发中的源代码控制系统

java - 常量应该放在接口(interface)中吗?

php - 我可以在 PHP 中使用多个类来扩展一个类吗?

c# - 查看dll的内容