没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Java 基础知识面试题系列一:1~10 题
为什么需要 这个方法
为 程序的入口方法,
在运行程序时,会首先查找 方法。 是权限修饰
符,表明任何类或对象都可以访问这个方法, 表明 方
法是一个静态方法,即方法中的代码存储在静态存储区的,只要类
被加载后,就可以使用该方法而不需要通过实例化对象来访问,可
以直接通过类名直接访问, 在启动时就是按照上述方法
的签名来查找方法的入口地址(必须有 与 修饰,返回
值为 ,且方法的参数为字符串数组),若能找到就执行。找不
到,则会报错。 表明方法没有返回值, 是 识别的特
殊方法名,是程序的入口方法。字符串数组参数 为开发人员在
命令行状态下雨程序交互提供了一种手段。
因为 是程序的入口方法,所以当程序运行时,第一个执行的
方法就是 方法。通常来讲,要执行一个类的方法,先必须实
例化一个类的对象,然后通过对象来调用这个方法。但由于
是程序的入口方法,此时还没有实例化对象,因此在 方法时
就要求不需要实例化对象就可以调用这个方法,鉴于此,方
法需要被定义成 与 。
如何实现这 方法执行前输出
语言中,方法是程序的入口方法,在程序中运行时,最
先加载的就是 方法,但这是否意味着 方法就是程序
运行时第一个被执行的模块呢?
答案是否定的,在 语言中,由于静态块在类被加载时就会被调
用,因此可以在 方法执行前,利用静态块实现输出
的功能。
!
"#
#
$%%&
'
#
$%%&
'
'
程序运行结果为:
( 程序初始化的顺序是怎样的
在 语言中,当实例化对象时,对象所在类的所有成员变量首先
要进行初始化,只有当所有类完成初始化后,才会调用对象所在类
的构造函数创建对象。
程序的初始化一般遵循 ( 个原则(优先级一次递减):
)静态对象(变量)优先于非静态对象(变量)初始化,其中,静
态对象(变量)只初始化一次,而非静态对象(变量)可能会初始
化多次。
)父类优先于子类进行初始化
)按照成员变量的定义顺序进行初始化。即使变量散步于方法定义
之中,依然在任何方法(包括构造函数)被调用之前先初始化。
) 程序初始化工作可以在许多不同的代码中来完成(例如静态
代码块、构造函数等),执行的顺序如下:父类静态变量、父类静
态代码块、子类静态变量、子类静态代码块、父类非静态变量、父
类非静态变量、父类构造函数、子类非静态变量、子类非静态代码
块、子类构造函数。
给出一个不同模块初始化时执行顺序的一个例子:
!
*#
#
$%*+%&
'
#
$*+&
'
*#
$%*%&
'
'
",*#
#
$%"+%&
'
#
$%"+%&
'
"#
$%"%&
'
#
"&
'
'
运行结果为:
*+
"+
*+
*
"+
"
剩余26页未读,继续阅读
最笨的羊羊
- 粉丝: 3w+
- 资源: 44
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0