标题:请教关于类与main()方法问题
只看楼主
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
结帖率:75%
已结贴  问题点数:20 回复次数:14 
请教关于类与main()方法问题
在看《21天学通JAVA》第三版,其中第五天课程的5.4里提到JAVA应用程序由一个或多个类构成。要让JAVA应用程序能够运行,只需一个用作程序入口的类即可。要成为应用程序的入口类,只需包含main()方法即可。应用程序运行时,首先执行方法main()中的代码。
然后在下面又提到了助手类。但是对助手类这一概念似乎并没有如何诠释。只提到虽然助手类可以包含main()方法,但程序运行时,它们将被忽略。

在这里我有一些疑问,就是如果一个程序里有多个类,并且其中有不止一个类包含main()方法,那么计算机它是如何辨别哪个是程序入口,而哪个类是助手类的?是从上往下以找到的第一个main()方法为入口?还是如何?
搜索更多相关主题的帖子: main 
2010-12-16 16:11
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:10 
多个类中必须有一个public class, 这个公共类的main()方法就是程序入口

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-16 16:27
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
得分:0 
回复 2楼 lampeter123
那么可以用到其他的public类吗?如果其他的public类含有main()方法呢?

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2010-12-16 16:41
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:2 
以下是引用洛云在2010-12-16 16:41:09的发言:

那么可以用到其他的public类吗?如果其他的public类含有main()方法呢?
public 类只能有一个, 通常这个公共类的作用是包含main()方法
public class 的名称必须与源文件名相同

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-16 16:48
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
得分:0 
回复 4楼 lampeter123
public类只有一个应该是在一个文件里。如果用到了其他文件的类呢?

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2010-12-16 16:50
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
得分:0 
回复 4楼 lampeter123
貌似对答案有些浅浅的思路了.还望继续点拨.

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2010-12-16 16:51
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
得分:0 
回复 4楼 lampeter123
是不是可以这样认为?
在运行程序时,是先运行某个类文件的,这个类文件有一个公共类,里面有main方法.而在这个类里可能还用到了其他类或其他文件的类,被用到了这些都是作者所说的助手类,而这些类的main方法也都会被忽略.
不知这样说通不通?

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2010-12-16 16:54
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:8 
程序代码:
public class A
{
    public static void main(String[] args)
    {
        System.out.println("A.main()");
    }
}

class B
{
    public static void main(String[] args)
    {
        System.out.println("B.main()");
    }
}

你可以自己编写一个A.java文件,然后编译:javac A.java
系统会生成A.class 和B.class
java A 运行A的main()方法
java B 运行B的main()方法

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-16 17:03
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
得分:0 
回复 8楼 lampeter123
原来是这样子啊.明白了.谢谢版主.
就是说在一个java源文件里含有的类,在编译时会生成各自的类文件.

[ 本帖最后由 洛云 于 2010-12-16 17:07 编辑 ]

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2010-12-16 17:06
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
得分:0 
回复 8楼 lampeter123
那可否在里面运行B的内容?

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2010-12-16 17:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-329138-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.321810 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved