我对java中的编码方式一无所知。由于我的工作,我必须研究一些java代码。有一件事困扰我。似乎我们可以为一个项目提供多个类,但项目只有一个主函数public static void main()
,当程序运行时,编译器首先搜索该主函数。
我有这段代码:
First.java
class First {
public static void main(String args[]) {
SecondClass example = new Second();
}
}
Second.java
class Second {
method1() {}
method2() {}
}
那么,现在当Second
类运行时,首先运行哪个方法?就像在php中一样,index()
函数默认在开头运行。
伙计们,我可能在某些地方听起来很蠢,我很抱歉。
答案 0 :(得分:4)
您在main method
中调用/调用的方法将首先执行。例如,如果您先调用method1()
,它将首先执行,依此类推......
下面,我为您提供了一个可以帮助您的示例。
HelloWorld.java
public class HelloWorld{
public static void main(String[] args){
Hello he = new Hello();
he.sayHelloToMe(); // if you replace this line by he.sayHelloToYou(); then this method will execute at the first place
he.sayHelloToYou();
}
}
class Hello{
public void sayHelloToMe()
{
System.out.println("Hello to me!");
}
public void sayHelloToYou()
{
System.out.println("Hello to you!");
}
}
答案 1 :(得分:3)
它只是创建一个Second类型的新对象,但不运行任何方法。
答案 2 :(得分:3)
Second
课程中没有构造函数。否则,它将在您创建Second
的实例时执行。 Second
中的方法无法执行。你必须写example.method1()
之类的东西。
答案 3 :(得分:3)
就像每个人都说的那样,SecondClass
实际上并没有做任何事情。就PHP而言,您所指的index()
方法将是main
类中的First
方法。这是该程序的入口点,非常类似于使用PHP的网站入口点。 Second
类更像是另一个网页,除非你打电话给它,否则它实际上什么都不做。我强烈建议让开发人员查看代码,因为它似乎超出了您的元素,可能会对您的代码造成更多伤害而不是帮助。最好的幸运是做你需要完成的事情。
答案 4 :(得分:2)
在第一张图片中,你已经(或试图)创建了第二类的对象。这是在Second class中调用方法的第一步。正确的方法是,
Second example = new Second();
创建对象后,可以调用该对象的方法。例如,您可以在此处调用这两个方法,
example.method1();
example.method2();
执行的方法顺序取决于您调用方法的顺序。
希望这会有所帮助。 :)