本博客 猫叔的博客,转载请申明出处
前言
本系列为猫叔综合整理的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猫说
现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。