黑马程序员技术交流社区
标题:
类的成员方法的问题
[打印本页]
作者:
brucel50
时间:
2013-8-22 22:14
标题:
类的成员方法的问题
相信童鞋们对static、类、类的成员、方法已经不陌生了。。。
今天看多线程的视频的时候,突然想到一个小小的问题(真的是小小的)
类中的一个方法调用另一个方法的时候,被调用的方法是设成静态的,还是非静态的?
于是乎就做了下面的小测试
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 类内部调用其它成员方法用是静态的吗
{
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.SayHello();
Console.ReadKey();
}
}
class Person
{
public void SayHello()
{
//=====================================
//在这个SayHello()方法中分别调用本类中的一个静态方法和一个非静态方法,都能调用
Say();
Say1();
//-------------------------------------
//=====================================
//但是实际上,它们是这样子的:)
this.Say();
//this.Say1(); 请改用类型名来访问它
Person.Say1();
//-------------------------------------
//所以说,不只是Program中的类方法,只要访问权限够,其它的问题,比如静态、非静态
//都是一样的
//还可以实例化并调用实例方法:
Person p = new Person();
p.Say();
}
private void Say()
{
Console.WriteLine("无static");
}
private static void Say1()
{
Console.WriteLine("有static");
}
}
}
复制代码
所以说啊,这东西都是有规律的,明明很简单的问题,在学习其它知识点的时候,要是不扎实的话,还真会懵一懵脑袋···
。。。
作者:
许庭洲
时间:
2013-8-23 06:38
值得学习ing!
作者:
小天
时间:
2013-8-23 08:44
静态方法调用的时候 类名.方法名
非静态方法调用的时候 需要new一个对象, 对象.方法名
作者:
shenge321
时间:
2013-8-24 19:08
一般静态成员、静态方法、静态类的“权限”都没非静态的大。它们自能静态调静态。而非静态的没这种限制。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2