1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6
7 namespace Static再谈
8 {
9 class Program
10 {
11 static void Main(string[] args)
12 {
13 A a = new A();
14 a.Hello();//实例对象调用,非static方法
15
16 A.StaticHello();//类名调用,静态方法
17 }
18 }
19 class A
20 {
21 public static int F;
22
23 private int M;
24
25 //调用非static成员必须通过对象
26 public void Hello()
27 {
28 F = 30;//在要求有实例对象的方法(非static方法)中可以为一个不要求有对象的成员(static成员)属性可以赋值,方法可以调用
29
30 //非static方法中可以为static成员或方法,赋值和调用
31 StaticHello();//在非static成员中可以调用static成员。
32
33 this.Hello();//可以
34 //this.StaticHello();//不可以,因为this.调用的都是非static成员
35 }
36 static public void StaticHello()
37 {
38 //Hello();//错误,在static成员中不能直接调用非static成员
39 //M = 30;//错误,因为static成员不要求对象,可能没有对象,所以不能直接调用要求对象的非static成员
40
41 A a = new A();
42 a.Hello();
43
44 F = 30;//可以成功.在static成员中可以调用其他static成员,但是不能调用非static成员。
45 }
46 }
47 }
static2014年6月9日09:27:29,布布扣,bubuko.com
时间: 2024-10-13 12:48:17