本博客 猫叔的博客,转载请申明出处
前言
本系列为猫叔综合整理的 Java 面试题系列,如有雷同不胜荣幸。
Java 与 C /C++ 的差异?
1、java 为解释性语言、而 C /C++ 为编译型语言。
2、java 为面向对象语言,C++ 则兼具面向过程和面向过程编程的特点。
3、就垃圾回收而言,C++ 中有析构函数,而 Java 则是 finalize() 方法。
4、Java 提供了 JDBC、分布式对象的 RMI 等库。
为什么需要 public static void main(String[] args)这个方法
1、public 权限修饰符,任何类、对象均可访问;
2、static 标记为静态方法,存储在静态存储区;
3、main 是 JVM 识别的特殊方法名;
4、args 为开发人员在命令行状态下雨程序交互提供的手段。
5、即便如此,main 函数也不是最先执行的方法!!!
如何在 main 函数之前输出“HELLO WORLD!”
由于静态块在类被加载时就会被调用,因此可以在 main() 方法执行前,利用静态块实现输出“HELLO WORLD”的功能。
Java 程序初始化的顺序是怎么样的?
1、静态对象(变量)优先于非静态对象(变量)的初始化,其中,静态对象只初始化一次,而非静态变量可以初始化多次;
2、父类优先于子类进行初始化;
3、按照成员变量的定义顺序进行初始化
Java 作用域
作用域与可见性
当前类
同一 package
子类
其他 package
public
YES
YES
YES
YES
private
YES
NO
NO
NO
protected
YES
YES
YES
NO
default
YES
YES
NO
NO
一个 java 文件可否定义多个类
可以定义多个类,但是最多只能有一个类被 public 修饰,并且这个类的类名与文件名相同。
公众号:Java 猫说
现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。