public class Class2
{
public Class2()
{
}
Class1 test = new Class1();
String b = test.a;
static void Main(String[] args)
{
//System.Console.Write(b);
}
}
在java中编译OK,在c#中无法编译,不解...
...全文
633打赏收藏
简单问题,会java和c#的来看一下
class Class1 { public String a ="OK!"; } public class Class2 { public Class2() { } Class1 test = new Class1(); String b = test.a; static void Main(String[] args) { //System.Console.Write(b); } } 在java中编译OK,在c#中无法编译,不解...
String b = test.a;这条语句有问题,在java中应该也行不通的。一般来说,不推荐在方法以外的地方执行赋值语句,即使你的这条语句Class1 test = new Class1();,也应该写成Class1 test;然后Class2的构造函数中添加test=new Class1();,这样才正规。
String b = test.a;这条语句之所以不行,是因为test.a不是常量或者静态字段,而是一个实例变量。