c#几种方法调用的对比理解:
class Class2
{
1: public string GetWelcome (string username, bool ismale)
1)未定义 Static(静态方法):就必须用new 创建一个类的对象(Class2),才能调用GetWelcome()方法;
2: public static string GetWelcome (string username, bool ismale)
1)public(公有类):表示对于GetWelcome()方法的存取没有限制;
3: private static string GetWelcome (string username, bool ismale)
1) private(私有类):表示对于GetWelcome()方法的只能在class1类中调用(预设可省略);
2) Static(静态方法):表示GetWelcome()方法不用建立class1类的对象实体,即可调用GetWelcome()方法;
{
string str = "" ;
if (ismale)
str = username + "先生,欢迎光临!" ;
else
str = username + "小姐,欢迎光临!" ;
return str ;
}
}
}
方法一:
namespace cs_method1
{
class Class1
{
static void Main(string[] args)
{//未定义 Static(静态方法):就必须用new 创建一个类的对象(Class2),才能调用GetWelcome()方法;
string name = "/n王小华";
//使用Class2类的GetWelcome方法
Class2 myClass = new Class2(); //未定义Static修饰词;Class2 (实例),myClass(对象)
string Welcome = myClass.GetWelcome(name,true) ;
Console.WriteLine (Welcome) ;
Console.WriteLine ();
Console.WriteLine (myClass.GetWelcome("李美美", false)) ;
Console.ReadLine() ;
}
}
class Class2 {……见上}
}
方法二:
namespace cs_method2
{
class Class1
{
static void Main(string[] args)
{ //1.使用了public修饰词:表示对于GetWelcome()方法的存取没有限制;
//2.使用了 static修饰词:因此不需建立Class2类的实体对象,就可调用直接调用Class2类的GetWelcome()方法;
string name = "/n王小华";
//使用Class2类的GetWelcome方法
string Welcome = Class2.GetWelcome(name,true) ; //使用了public,static修饰词:
Console.WriteLine (Welcome) ;
Console.WriteLine ();
Console.WriteLine (Class2.GetWelcome("李美美", false)) ;
Console.ReadLine() ;
}
}
class Class2 {……见上}
}
方法三:
namespace cs_method3
{
class Class1
{
static void Main(string[] args)
///void:不需返还值,否则需( return 表达式)
///private:(默认值)
{ //使用了private修饰词:表示对于GetWelcome()方法的只能在class1类中调用;
string name = "/n王小华"; //将方法返回的结果指定给Welcome变量
string Welcome = GetWelcome(name,true) ; //使用了private,static修饰词:
Console.WriteLine (Welcome) ;
Console.WriteLine ();
Console.WriteLine (GetWelcome("李美美", false)) ;
Console.ReadLine() ;
}
}
class Class2 {……见上}
}