请问在java中貌似只执行主类中的main函数?

java中貌似只执行主类中的main函数?


神不在的星期二
浏览 1307回答 5
5回答

精慕HU

而JVM在加载类时会加载和.class文件名相同的那个类。其实你可以在一个Java文件里定义N个类,但只能有一个类是public修饰的。并且该Java文件的名称要和public修饰的类名一样。编译时会生成多个class文件,你选择让JVM在会首先加载那个类,加载完成之后,会先找静态代码块,然后找该类的main方法。我们一般都说main方法是程序的入口,如果main方法里用到了别的类,JVM会自动去加载给类,并且只加载一次。main方法执行完了,程序基本也就结束了。

BIG阳

对于一般的程序执行main函数的是主线程,所有在main函数中直接调用的代码都属于这个线程,其结束整个程序就结束了lz要是只编写单线程程序,完全可以下这个结论多线程如果把其他线程作为守护线程,那么在main函数的线程结束以后这个线程仍旧可继续执行

忽然笑

main函数是java程序执行的入口,所以你要运行java程序,必须有main()定义。main函数执行完成以后 java程序就执行完成了。

慕容森

第一个问题:main方法代表程序执行的入口,可以随便放在哪个类中。public只是修饰符,可加可不加,视情况而定。第二个问题:shape代表一个实例对象,当输出时默认调用对象的toString()方法。

慕森王

1:一个文件不能有2个public类,如果要存在,其中一个必须要写出内部类,内部类定义有多种,具体上网查询,你的代码主要是贪图省力,让我写,我会将Cirle这个类单独写到一个文件中,TestShape这个类单独写到另外一个文件中,然后再TestShape中调用Cirle类中封装好的方法2: 请看 print方法中Shape参数,在main中传入的是Cirle,在print的shape由于继承关系,所以指的就是Cirle这个对象了,在Cirle类中 有个toString 已经覆盖了Object的toString ,因为Cirle是继承Object类的,所以可以直接填写shape对象,就能输出toString中的内容
打开App,查看更多内容
随时随地看视频慕课网APP