你对java中的main方法有疑问吗?看看下面有没有你想要的解答吧!

问:不同main方法如何定义一个类?

答:没有main方法咋运行Java类?

问:main方法需要的参数不是字符串数组?

答:不是的,main方法的参数必须是字符串数组,但是在引进变参时,你可以将字符串类型的变参作为参数传递给main()方法。(变参一定是数组!)以下面为例:

public class Main{
       public static void main(String[] args){
                
    }
}

问:我们能不能改变main()方法的返回类型?

答:不能,main()方法的返回类型只能是空。任何其它类型都是不接受的。例:

public class Main{
    public static int main(String[] args){
            return 1;
    }
}

问:main()方法为什么必须是静态的?

答:main()方法一定是静态的。如果main()允许是非静态的,那么在调用main方法时,JVM就得实例化它的类。在实例化时,还得调用类的构造函数。如果这个类的构造函数有参数,那么届时就会出现歧义(建议反复理解)。

问:我们能否重载main()方法?

答:当然可以了,一个Java类可以有任意数量的main()方法。但运行java类时,类的main()方法没有"public static void main(String[] args)"的声明,程序会运行不成功,但是可以编译成功。

问:我们能否声明main()方法为private或protected,或者不用访问修饰符?

答:不能,main()方法必须使用public。不能定义main()方法为private和protected,也不能不用访问修饰符。这是为了能让JVM访问main()方法。如果不定义main()方法为public,虽然编译也会成功,但会得到运行时错误,因为找不到main方法。

问:能否在java中覆盖main()方法?

答:不能,不能在Java中覆盖main方法。这是因为main方法是静态方法,而在Java中静态方法在编译时会结合在一起,所以在Java中不能覆盖静态方法。

问:我们能否在java中同步main方法?

答:可以,synchronized修饰符允许用于main方法的声明中。

如果大家还有什么疑问的话,可以在评论区进行交流探讨一下,互相学习!

 

 

 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值