为什么在application的main方法里一定要声明对象和创建对象同时做呢?(不好意思,我的分不多:( )

qlampskyface 2003-10-30 06:36:05
class test1
{
test2 test;
public static void main(String args[])
{
test = new test2();
}
}

class test2
{

}
------------------------------------------------------------------
这样的话就有以下错误了:
javac test1.java
test1.java:6: non-static variable test cannot be referenced from a static context
test = new test2();
------------------------------------------------------------------
class test1
{

public static void main(String args[])
{
test2 test = new test2();
}
}

class test2
{

}
-------------------------------------------------------------
这样就没有错误,这是为什么啊?

...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qlampskyface 2003-10-30
  • 打赏
  • 举报
回复
谢谢你,好人。
Yanbin_Q 2003-10-30
  • 打赏
  • 举报
回复
如果写成
class test1
{
private static test2 test;
public static void main(String args[])
{
test = new test2();
}
}

class test2
{

}

也可以。
Yanbin_Q 2003-10-30
  • 打赏
  • 举报
回复
是静态方法不能调用方法外非静态成员

想想静态方法是类的方法
类的非静态成员是实例的成员

调用类的静态方法时,非静态成员还不存在呢,因为此时没有实例。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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