简单问题,会java和c#的来看一下

killjsp 2005-05-01 12:16:45
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#中无法编译,不解...
...全文
63 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
YYKXQ 2005-05-01
  • 打赏
  • 举报
回复
String b = test.a;这条语句有问题,在java中应该也行不通的。一般来说,不推荐在方法以外的地方执行赋值语句,即使你的这条语句Class1 test = new Class1();,也应该写成Class1 test;然后Class2的构造函数中添加test=new Class1();,这样才正规。
String b = test.a;这条语句之所以不行,是因为test.a不是常量或者静态字段,而是一个实例变量。
hainang1234 2005-05-01
  • 打赏
  • 举报
回复
C#中为了安全,类成员变量在声明时不允许访问类成员变量。
这样以保证类成员变量的顺序无关性。
virus055 2005-05-01
  • 打赏
  • 举报
回复
谁给解释一下吧 我不敢擅自发言 因为我就看了两天的书

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧