黑马程序员技术交流社区
标题:
静态方法和实例方法
[打印本页]
作者:
邓江红
时间:
2014-4-1 14:21
标题:
静态方法和实例方法
静态方法和实例方法的异同点?
作者:
许庭洲
时间:
2014-4-1 14:26
本帖最后由 许庭洲 于 2014-4-1 14:28 编辑
1.使用了static修饰符的方法为静态方法;
2.反之则是非静态方法;
3.静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例;
4.非静态可以访问类中的任何成员,而静态方法只能访问类中的静态成员。
作者:
黒■色
时间:
2014-4-1 14:29
class Program
{
/// <summary>
/// 一个类中,static方法能用static对象,不能直接调非static的对象。
/// 被static修饰的不需要实例化.就是不能被new的类就是静态类。
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Person Age = new Person();
Person.TotalCount = 10;
Console.WriteLine(Person.TotalCount);
DoIt();
Console.ReadKey();
}
public static void DoIt()
{
Console.WriteLine("使用全局变量,{0}", Person.TotalCount);//用了全局变量
}
}
public class Person
{
public static int TotalCount;//加了static后,是全局变量,都能被访问。
public int Age;
}
public class Dog
{
public void jiaohuan()
{
Console.WriteLine("旺旺,{0}",Person.TotalCount);//没有被static修饰,但也可以使用全局变量
}
}
复制代码
作者:
黒■色
时间:
2014-4-1 14:38
静态方法修饰的对象是全局变量,谁都可以调用
而实例方法创造的对象属于实例方法
static修饰的就是静态的,不需要实例化对象
而new出来的就是实例的,需要实例化对象
作者:
Max_骏
时间:
2014-4-1 16:59
1、若一个方法声明中含有 static 修饰符,则称该方法为静态方法。若其中没有 static 修饰符时,则称该方法为实例方法。
2、静态方法不对特定实例进行操作,在静态方法中引用 this 是编译时错误。
3、实例方法对类的某个给定的实例进行操作,而且可以用 this来访问该实例。
在 E.M 形式的成员访问中引用一个方法时,如果 M 是静态方法,则 E 必须表示含有 M 的一个类型,而如果 M 是实例方法,则 E 必须表示含有 M 的类型的一个实例。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2