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

好程序员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

  }

  }

原文地址:https://blog.51cto.com/14573321/2449515

时间: 2024-08-29 20:38:05

好程序员Java教程分享Javamain常见面试问题的相关文章

好程序员Java教程分享MyBatis Plus介绍

好程序员Java教程分享MyBatis Plus介绍:1.MyBatis Plus 介绍 MyBatis Plus 是国内人员开发的 MyBatis 增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. MyBatis Plus 的核心功能有:支持通用的 CRUD.代码生成器与条件构造器. 通用 CRUD:定义好 Mapper 接口后,只需要继承 BaseMapper<T> 接口即可获得通用的增删改查功能,无需编写任何接口方法与配置文件 条件构造器:通过 Enti

好程序员Java教程分享Java之设计模式

好程序员Java实用教程之设计模式,首先来讲一下单例设计模式 单例设计模式 /* * 设计模式:前人总结出来的对一些常见问题的解决方案,后人直接拿来使用. * 常用的设计模式:单例,工厂,代理,适配器,装饰,模板,观察者等,一共有23种 * 单例:一个类只允许有一个对象,建立一个全局的访问点,提供出去供大家使用. * * 分析: * 1.我们肯定要建立一个单例类来描述 * 2.只允许有一个对象 * 3.全局的访问点:说的就是当前的s----通过static实现的 * 4.提供出去 * 5.给大家

好程序员Java教程分享Java中String类型的10个问题

如何比较两个字符串?用"="还是equals简单来说,"=="是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等.只要你想检测俩字符串是不是相等的,你就必须得用equals()方法. 如果你知道"字符串保留(string intern)"的概念那就更好了. 为什么安全敏感的字符串信息用char[]会比String对象更好?String对象是不可变的就意味着直到垃圾回收器过来清扫之前它们都不会发生变化

好程序员Java教程系列之异常定义

好程序员Java教程分享Java系列之异常定义 异常定义 异常:就是程序在运行的过程中遇到的种种不正常的情况. 特点:如果一个程序在运行中遇到了一个未经处理的异常,则这个异常会终止程序的运行. ? 但是如果程序出现的异常被处理了,此时程序不会被终止.所以我们需要知道怎么去处理异常. 其实在Java中,异常也是一个类. 类的体系: Throwable: 是所有的异常的根类 Error: 发生在编译器级别的,我们程序无法处理的错误. Exception: 我们可以去处理的异常. RuntimeExc

好程序员Python教程分享python之变量

好程序员Python教程分享python之变量,变量(variable)是必经之路,它是学习python初始时,就会接触到的一个新的知识点,也是一个需要熟知的概念.python是一种动态类型语言,在赋值的执行中可以绑定不同类型的值,这个过程叫做变量赋值操作,赋值同时确定了变量类型. 什么是变量 在玩蛇网python学习过程中会用到许多数据,那为了方便操作,需要把这些数据分别用一个简单的名字代表,方便在接下来的程序中引用.变量就是代表某个数据(值)的名称. python变量赋值如何定义操作 变量定

好程序员Java干货分享Spring框架之IOC原理

好程序员Java干货分享Spring框架之IOC原理,前言:Spring框架是我们进行企业级开发的最常用框架,本章我们将了解Spring框架,并学习Spring的IOC特性以及IOC的实现原理:注解和反射. Spring框架简介 Spring是一种轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架,能够为企业级开发提供一站式服务. Spring的优点有 1.方便解耦,简化开发 通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度

好程序员Java教程解读什么是swing

好程序员Java教程解读什么是swing,swing是java GUI应用程序,也就是java做的桌面应用.运行swing程序要求用户电脑上有java环境,这一点不太现实也不方便.现在的java主要以web方向为主,做移动应用和网站开发,分布式.多线程.高并发等都是java程序员发展的方向. 虽然企业开发中用到的不多,事实上在我十几年的开发生涯中没有用到过,我的朋友也没有做swing的.但也不能说学习它就没有用. 比如swing中的控件,如表格.树.面板.菜单等控件,各种事件如键盘.鼠标事件.结

好程序员Java教程Java动态代理机制详解

好程序员Java教程Java动态代理机制详解:在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface).另一个则是 Proxy(Class),这一个类和接口是实现我们动态代理所必须用到的.首先我们先来看看java的API帮助文档是怎么样对这两个类进行描述的: InvocationHandler: 1InvocationHandler is the interface implemented by the invocation handle

黑马程序员——java——Date类的常见方法演示

Date 中的常用方法演示 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateDemos { public static void main(String[] args) throws Exception { // 获取系统当前的时间的毫秒值 long l = System.