A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 庞登升 于 2013-6-27 23:32 编辑
  1. namespace ReadInt方法
  2. {
  3.     class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             Console.WriteLine("你们班有多少人?");
  8.             int number = ReadInt();
  9.             Console.WriteLine(number);
  10.             Console.ReadKey();
  11.         }

  12.         static int ReadInt()
  13.         {
  14.             string input = Console.ReadLine();
  15.             do //需要一个循环来重复判断是否为数字
  16.             {
  17.                 try
  18.                 {
  19.                     int number=Convert.ToInt32(input);
  20.                     return number;
  21.                     
  22.                 }
  23.                 catch (System.Exception ex)
  24.                 {
  25.                         Console.WriteLine("type in again");
  26.                 }
  27.             } while (true);//直接用true循环
  28.         }
  29.     }
  30. }
复制代码
是不是这样的,比如说在不同的类底下,就必须用  实例化这个类之后,用class.Program调用
而在同一个类里面,就只能用static修饰之后直接调用了???

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

6 个回复

倒序浏览
用static修饰的方法是为静态方法,Main方法就是一个静态方法,在同一个类中,不能在静态方法里面直接调用非静态方法或属性,而应该由该类的对象来调用。而在静态和非静态方法中,都可以直接调用静态方法或属性。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
static指的是一个静态的方法,静态是不能实例化的,比如“人都会说话”这就是一个静态的方法,不能说“张三会说话”,因为所有人都会说话,而main方法就是一个静态的方法,里面的成员不能实例化,所以在main方法中想要引用的方法前都必须加一个static。(以上是我个人的理解)

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
static是对 对象的共享数据进行单独空间的存储,
静态方法只能访问静态成员(静态变量和静态方法),
非静态方法可以访问既可以静态成员,也可以访问非静态成员;

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
一个类中的方法不是必须加static修饰的。
不同类中方法的调用    :如果是静态函数(除了内部类),可以直接用类名.方法的格式来调用, 也可以创建对象调用;如果是非静态的函数,必须创建对象调用。
同一个类中方法的调用:如果是静态函数:直接写函数名称就可以调用,也可以创建本类对象调用;
                                      如果是非静态函数:被静态调用时,只能通过创建本类对象来调用;被非静态调用时,直接写函数名称就可以调用;




评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 leayon 于 2013-6-27 14:48 编辑

别客气,不过静态方法也可以直接被非静态方法用类名.方法名()的方式调用哦!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马