文章目录
  1. 1. 关于main()的知识
  2. 2. 其他

关于main()的知识

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

    Java 7 之前,可以通过使用静态初始化运行Java类;
    Java 7 之后,没有main方法无法运行Java类。

  2. main()方法需要的参数必须是字符串数组;

  3. main()方法的返回类型只能是空;

  4. main()方法必须是静态的;

    否则,调用main()方法时,JVM就得实例化它的类—>调用类的构造函数;

    若类的构造函数有参数,JVM应该传递什么呢?

    如果去掉main()方法的“static”声明,编译成功,运行失败。

  5. 我们可以重载main()方法。一个Java类可以有任意数量的main()方法。为了运行Java类,类的main()方法必须是

    1
    public static void main(String[] args){}
  6. main()方法修饰符必须是

    1
    public

    这样JVM才可以访问main()方法。

  7. Java中不可以覆盖静态方法,故也不可覆盖main()方法。

  8. 你可以在Java中终结main()方法。

  9. main()方法可以在Java中同步,可用修饰符synchronized。

其他

  1. 谈谈final, finally, finalize的区别。

    final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承;

    finally是异常处理语句结构的一部分,表示总是执行;

    finalize是 Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

  2. Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

    可以继承其他类或完成其他接口,在swing编程中常用此方式。

  3. Static Nested Class 和 Inner Class的不同?

    Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化;

    而通常的内部类需要在外部类实例化后才能实例化。

文章目录
  1. 1. 关于main()的知识
  2. 2. 其他