JAVA-被登录系统搞糊涂了

JAVA-被登录系统搞糊涂了,java,Java,我以前从未做过Java,但我想学习,所以这将帮助我理解一点Java语言 由于某种原因,登录系统很混乱,我无法理解 代码如下: public class Main implements EventListener { public static void main(String[] args) throws Exception { if(args.length < 3) { throw new RuntimeException("Missin

我以前从未做过Java,但我想学习,所以这将帮助我理解一点Java语言

由于某种原因,登录系统很混乱,我无法理解

代码如下:

public class Main implements EventListener {

    public static void main(String[] args) throws Exception {
        if(args.length < 3) {
            throw new RuntimeException("Missing arguments! [username] [password] [rooms]");
        }
        String username = args[0];
        String password = args[1];
        List<String> rooms = Arrays.asList(args[2].split(","));
        new Main(username, password, rooms );
    }
public类主实现EventListener{
公共静态void main(字符串[]args)引发异常{
如果(参数长度<3){
抛出新的RuntimeException(“缺少参数![username][password][rooms]”);
}
字符串username=args[0];
字符串密码=args[1];
List rooms=Arrays.asList(args[2].split(“,”);
新主(用户名、密码、房间);
}

正如你所看到的,一开始有两个主要的系统吸引了我。然后我意识到,如果登录成功,这取决于它之后调用的第二个主要系统。我唯一不明白的是它从哪里调用用户名和密码,因为在代码中根本没有定义它的位置。

这里发生了一些事情

publicstaticvoidmain(String[]args)
是程序的入口点

newmain()
是对构造函数的调用,该构造函数接受类
Main
的3个参数

您是否在入口点行中看到了
args
?这就是解析用户名和密码的地方(我想这就是您所说的“调用自”的意思)。它们通常也被称为“命令行参数”


需要澄清的是:
newmain()
不调用
publicstaticvoidmain(String[]args)
,如果你这么想的话。

有一个名为
Main
的类的构造函数,它有三个参数,两个
String
(s)还有一个
列表
。程序流程在那里继续。任何java教程都会解释这一切-在这段代码中没有什么特别复杂的东西。你说的“从哪里调用用户名和密码”是什么意思?我猜到了。我只是不知道如何调用用户名和密码。正如我说的,我是Java新手哈哈。谢谢你顺便澄清一下。@LightningMods我不知道调用用户名和密码是什么意思,但如果你是指程序从哪里获得用户名和密码,当你从命令行以可运行jar的形式运行程序时,你可以运行我我不喜欢这样:
java-jar程序名用户名密码室
这更清楚了一点。我正在使用JDK,所以我一直使用netbeans。我会尝试一下你的选择,然后再联系你。结果是,netbeans不允许我做我需要的事情。运行了它,然后它开始抛出关于类的错误,所以我打算放弃它做得不好。谢谢你的帮助@Aify