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