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