黑马程序员技术交流社区
标题:
关于静态方法的问题
[打印本页]
作者:
史鹏飞
时间:
2013-4-25 11:15
标题:
关于静态方法的问题
本帖最后由 史鹏飞 于 2013-4-26 09:08 编辑
QQ截图20130425111311.png
(11.65 KB, 下载次数: 15)
下载附件
2013-4-25 11:13 上传
静态方法中只能调用静态方法吗?,如果我想调用GetString()方法,就只能把它定义为静态的?或者还有其他的方法?
作者:
殇_心。
时间:
2013-4-25 11:23
这个没了。静态方法必须调用静态。
作者:
陈晖
时间:
2013-4-25 11:30
是的,静态方法只能访问呢有static修饰的方法或成员,要不就见静态方法去掉static改为非静态方法。:)
作者:
尹丽峰
时间:
2013-4-25 11:42
静态方法中只能调用被static修饰的方法和成员
作者:
史鹏飞
时间:
2013-4-25 11:48
知道了,谢谢
作者:
乘鱼飞
时间:
2013-4-25 11:49
所有的静态方法,静态成员都是随着类的建立而建立,
而类是先建立的,实例变量,实例方法是后随实例而建立的,
所以静态方法只能访问静态成员
作者:
↖落葉下♀媃媚
时间:
2013-4-25 12:44
在静态方法中可以调用其他的静态方法、字段和属性,但是不能调用非静态方法、字段、属性,在非静态方法中可以调用静态方法
作者:
张林杰
时间:
2013-4-26 16:08
你可以将所在类实例化后,用实例名.成员名 来访问非静态成员,例如:
class Program
{
static void Main(string[] args)
{
Program aa = new Program();
aa.GetString();
}
string GetString()
{
return "22";
}
}
复制代码
作者:
刘赛
时间:
2013-4-26 16:12
这样行吗
class Program
{
static void Main(string[] args)
{
string str=GetString();
}
static string GetString()
{
return "22";
}
}
复制代码
作者:
闫常国
时间:
2013-4-26 19:16
静态方法是依附于类的,在类加载到内存中后,静态方法就也被加载到内存中了。而非静态方法是依附于对象的,没有对象也就无所谓有非静态方法,非静态方法是在对象被创建以后才创建的。所以,静态方法是先于非静态方法进入内存的,当静态方法进入内存时,非静态方法还没有被创建,所以静态方法无法调用非静态方法。希望对你有所帮助
作者:
闫常国
时间:
2013-4-30 16:30
把GetString()方法也写成静态方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2