首页 新闻 会员 周边 捐助

C#中字段和局部变量

0
悬赏园豆:5 [已解决问题] 解决于 2017-08-29 16:37

我先写两个类Test1和Tesy2,目的是想不通过new调用另一个类中的方法
public class Test1
{
public void Method1()
{
Console.WriteLine("343");
}
}
public class Test2
{
Test1 ts1;
public void Say()
{
ts1.Method1();
}
}
这样,我在Test2中只需要声明一下就可以在Say()中调用他的方法了(这是我不理解的,使用一个类中的方法就要new一个该类的对象才可以。但是这个写成字段了不用new也可以啊。不是说C#中必须要new了才能使用吗?)
如果在Test2中这样写,就会报错(使用了为赋值的局部变量“ts1”)
public class Test2
{
public void Say()
{
Test1 ts1;
ts1.Method1();
}
}

只有这样,也是我一直以为的必须new
public class Test2
{
public void Say()
{
Test1 ts2 = new Test1();
ts2.Method1();
}
}
这样才不会报错。
搞不懂,字段属性和对象我发现我突然不懂了……希望有大虾解答 -_-

张四海的主页 张四海 | 初学一级 | 园豆:137
提问于:2017-05-31 11:54
< >
分享
最佳答案
0

额。。。这个太基础了吧,

首先你调用的如果不是静态的方法或者静态的属性,就必须得New一个对象才行。要不然在内存里都没有位置肯定报错的啊。

你还是多看看c# 基础的方法,属性之类的。

收获园豆:5
Emrys5 | 菜鸟二级 |园豆:223 | 2017-05-31 14:37
其他回答(2)
0

声明--实例化--调用

 

不想实例化就用 static或者abstract,或者单例模式

hahanonym | 园豆:1460 (小虾三级) | 2017-06-01 09:13
0

  通过静态对象来实现

悦光阴 | 园豆:2251 (老鸟四级) | 2017-06-01 12:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册