zoukankan      html  css  js  c++  java
  • Java中main方面面试题

    1.不用main方法如何定义一个类?

    不行,没有main方法我们不能运行Java类。

    在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。

    2.main()方法需要的参数不是字符串数组?

    不是的,main()方法的参数必须是字符串数组。

    但是,在引进变参时,你可以将字符串类型的变参作为参数传递给main()方法。变参一定得是数组。

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

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

    4.main()方法为什么必须是静态的?

    main()方法一定是静态的。

    如果main()允许是非静态的,那么在调用main方法时,JVM就得实例化它的类。

    在实例化时,还得调用类的构造函数。如果这个类的构造函数有参数,那么届时就会出现歧义。

    例如,在下面的程序中,在实例化类“A”的时候,JVM传递什么参数?

    5.我们能不能声明main()方法为非静态?

    不能,main()方法必须声明为静态的,这样JVM才可以调用main()方法而无需实例化它的类。

    如果从main()方法去掉“static”这个声明,虽然编译依然可以成功,但在运行时会导致程序失败。

    6.我们能否重载main()方法?

    可以,我们可以重载main()方法。一个Java类可以有任意数量的main()方法。

    为了运行java类,类的main()方法应该有例如“public static void main(String[] args)”的声明。如果你对此声明做任何修改,编译也是可以成功的。但是,运行不了Java程序。你会得到运行时错误,因为找不到main方法。

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

    不能,main()方法必须public。你不能定义main()方法为private和protected,也不能不用访问修饰符。

    这是为了能让JVM访问main()方法。如果你不定义main()方法为public,虽然编译也会成功,但你会得到运行时错误,因为找不到main方法。

    8.我们能否在Java中覆盖main方法?

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

    9.我们能否在Java中终结main方法?

    你可以在Java中终结main方法。JVM对此没问题。

    10.我们能否在Java中同步main方法?

    是的,main方法可以在Java中同步,synchronized修饰符允许用于main方法的声明中,这样就可以在Java中同步main方法了。

    转自http://www.jfox.info/10-ge-jing-dian-de-java-main-fang-fa-mian-shi-ti

  • 相关阅读:
    BZOJ2219数论之神——BSGS+中国剩余定理+原根与指标+欧拉定理+exgcd
    Luogu 3690 Link Cut Tree
    CF1009F Dominant Indices
    CF600E Lomsat gelral
    bzoj 4303 数列
    CF1114F Please, another Queries on Array?
    CF1114B Yet Another Array Partitioning Task
    bzoj 1858 序列操作
    bzoj 4852 炸弹攻击
    bzoj 3564 信号增幅仪
  • 原文地址:https://www.cnblogs.com/zjfjava/p/6069583.html
Copyright © 2011-2022 走看看