Java面试 | 002

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理