ITPub博客

首页 > 应用开发 > > Java教程分享Javamain常见面试问题

Java教程分享Javamain常见面试问题

作者:amadan 时间:2019-11-11 17:48:25 0 删除 编辑

Java 教程分享 Javamain 常见 面试问题 , Java 程序员在 参加 面试的时候,在Javamain 方面都会被问到哪些问题呢?为大家准备一些常见的 Javamain 的基础知识问题,帮助大家在面试前做好准备:

 

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

 

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

 

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

 

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

 

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

 

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

 

  packagecom.instanceofjava;

 

  publicclassMainMethod

 

  {

 

  publicstaticvoidmain(Stringargs[])

 

  {

 

  }

 

  }

 

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

 

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

 

  packagecom.instanceofjava;

 

  publicclassA

 

  {

 

  publicstaticintmain(String[]args)

 

  {

 

  return1;//runtimeerror:Nomainmethodfound

 

  }

 

  }

 

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

 

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

 

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

 

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

 

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

 

  packagecom.instanceofjava;

 

  publicclassA

 

  {

 

  publicMainMethod(inti)

 

  {

 

  //Constructortakingoneargument

 

  }

 

  publicvoidmain(String[]args)

 

  {

 

  //mainmethodasnon-static

 

  }

 

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

 

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

 

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

 

  packagecom.instanceofjava;

 

  publicclassA

 

  {

 

  publicvoidmain(String[]args)

 

  {

 

  System.out.println("indhu");//Runtimeerror

 

  }

 

  }

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2310/viewspace-3123288/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-06

  • 博文量
    200
  • 访问量
    14412