为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

守着星空守着你 2019-09-21 15:15:45

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



查看完整描述

5 回答

?
烧仙草VB

而JVM在加载类时会加载和.class文件名相同的那个类。其实你可以在一个Java文件里定义N个类,但只能有一个类是public修饰的。并且该Java文件的名称要和public修饰的类名一样。

编译时会生成多个class文件,你选择让JVM在会首先加载那个类,加载完成之后,会先找静态代码块,然后找该类的main方法。

我们一般都说main方法是程序的入口,如果main方法里用到了别的类,JVM会自动去加载给类,并且只加载一次。main方法执行完了,程序基本也就结束了。


查看完整回答
反对 回复 2019-09-22
?
一只甜甜圈

对于一般的程序执行main函数的是主线程,所有在main函数中直接调用的代码都属于这个线程,其结束整个程序就结束了

lz要是只编写单线程程序,完全可以下这个结论

多线程如果把其他线程作为守护线程,那么在main函数的线程结束以后这个线程仍旧可继续执行


查看完整回答
反对 回复 2019-09-22
?
largeQ

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

main函数执行完成以后 java程序就执行完成了。

查看完整回答
反对 回复 2019-09-22
?
慕的地6264312

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

查看完整回答
反对 回复 2019-09-22
?
ITMISS

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


查看完整回答
反对 回复 2019-09-22

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信