为什么我在Eclipse中运行Java程序时,当整个程序只是一个类时就能运行成功,但当有两个类时就无法运行了呢

成功运行的程序:publicclassfirst{publicclasssecond{publicinti;publicsecond(){this.i=0;}}/***@... 成功运行的程序:
public class first {
public class second
{
public int i;
public second()
{
this.i=0;
}
}
/**
* @param args
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello world");
}
}
不能成功运行的程序:
public class first {
public class second
{
public int i;
public second()
{
this.i=0;
}
}
/**
* @param args
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello world");
second s;
s.i =1;
}
}
问题:只要在main()中用到其他类的时候就会出错,谁能帮我解决这个问题呢?谢谢了
展开
 我来答
百度网友0f39ceb
2010-09-02 · TA获得超过782个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:458万
展开全部
你把一个类放在另一个类的内部,second在first内,则second类为内部类
你可看看这样改:
public class first {

public static class second { //要在静态的main中调用,则要声明
//其为static

public int i;

public second() {
this.i = 0;
}
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello world");
second s = new second();
s.i = 1;
System.out.println(s.i);
}
}

如果你是想在first类中调用second类中方法,则应该将second放在first类的外面,如下:

public class first {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello world");
second s = new second();
s.i = 1;
System.out.println(s.i);
}
}
class second { //不能声明为public

public int i;
public second() {
this.i = 0;
}
}

注意:一般类名首字母要大写
xgsy2008061227
2010-09-02 · TA获得超过215个赞
知道答主
回答量:257
采纳率:0%
帮助的人:170万
展开全部
second s;
改成second s=new second();
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
围城我
2010-09-05 · 超过35用户采纳过TA的回答
知道答主
回答量:182
采纳率:0%
帮助的人:75.1万
展开全部
对于second类,你没有创建对象,故在运行主函数时会出错,
你可以将second s; 改成 second=new second();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
datou_43
2010-09-13
知道答主
回答量:8
采纳率:0%
帮助的人:7万
展开全部
对于内部类的创建,首先要创建外部类:
Test t=new Test();
然后再创建内部类
Test.second s=t.new second();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JX822
2010-09-02 · TA获得超过137个赞
知道答主
回答量:119
采纳率:0%
帮助的人:104万
展开全部
是不是你没有导包啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式