中易网

JAVA中的问题:当一个类继承另一个类后,子代会继承双亲的main()函数吗?若会,那不是在一个编译单元有多个主函数了???而在一个编译单元应该只有一个main()函数啊?????

答案:6  悬赏:0  
解决时间 2021-04-28 03:05
  • 提问者网友:喵星人荷西
  • 2021-04-27 08:50
JAVA中的问题:当一个类继承另一个类后,子代会继承双亲的main()函数吗?若会,那不是在一个编译单元有多个主函数了???而在一个编译单元应该只有一个main()函数啊?????
最佳答案
  • 二级知识专家网友:陪我到地狱流浪
  • 2021-04-27 10:23

main方法也是个方法,当然会被继承。


不是只能有一个main方法,而是只能有一个有main方法的main-class,作为一个程序的入口。


关于main-class可以看一下关于jar命令的用法。

全部回答
  • 1楼网友:不羁的心
  • 2021-04-27 15:37
误人子弟,无论是静态函数还是main这个特殊的函数都是能够被子类继承的! 谁说main函数不能被子类继承的?你自己去试试。举个例子: //file A public class A{     public static void mian(String args[]){     System.out.println("mainA");     } } //file B public class B{ } 然后你去命令行(注意不能用ide)编译A,B。运行A或B都是可以的,并且输出一样。
  • 2楼网友:风格单纯
  • 2021-04-27 15:26

main函数是JAVA类的入口函数(其他类拿着也没用),它是不能被子类所继承的(当然并非它是静态函数,静态函数也是能被子类继承的,只要是子类能访问到的范围(pubic..))。

当然父类的main也是一个方法,也可以通过父类对象去访问(如果你觉得有必要的话)

就好比以前看到有人这样比喻过:儿子继承了父亲的特点,但是父亲的某些东西还是父亲的

教你个方法:

Parents.java 父类

Children.java子类

如果Children 继承了 Parent ,那么被继承的方法、参数对子类来说都是“可见的”,

new 出一个Children对象,Children c = new Children();

如果通过“c.xxx”能访问到的且是父类中有的方法或参数(子类中没有的)那就一定是集成过来的

当然如果父类有,子类也有的方法,你调用的时候加一条System.out.println()测试一下到底调用的谁的方法,或者说是谁的方法被调用了。c.main(..)也是可以调用的,但是却是子类的main(注意)

通过IDE(Eclipse)在通过“c.xxx”的时候都会显示是调用的谁的方法

  • 3楼网友:两不相欠
  • 2021-04-27 14:15
main()方法是静态方法。静态方法不能被继承,不能覆盖只能被隐藏!
  • 4楼网友:浪女动了心
  • 2021-04-27 12:50
main()函数是static函数,也就是静态函数。子类是不会继承静态函数的。 一个工程中是可以有多个main()函数的,甚至每个类都可以有一个。这点并没有什么影响。因为在启动的时候是需要制定类名的。
  • 5楼网友:星星坠落
  • 2021-04-27 11:55

不会的,

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息