前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题2(Java 修饰符问题)

面试题2(Java 修饰符问题)

作者头像
Java学习
发布2018-04-18 11:47:44
6840
发布2018-04-18 11:47:44
举报
文章被收录于专栏:java学习java学习

编译并运行下面代码,请选择描述正确的项。

public class XiuShiFu{

int i =10;

private static float pi=3.0f;//(1)

public static void main(string [] args) {

public inti= 20;//(2)

final doubled= 4.0d;//(3)

System.out.println(i+d +pi) ;} }

(a) 编译正确,输出结果28.0

(b) 编译错误,(1) 处有错误

(c) 编译错误,(2) 处有错误

(d) 编译错误,(3) 处有错误

(e) 编译正确,输出结果18.0

考点: 该面试题考察求职者对Java修饰符的掌握,

出现频率: ★★★★

【面试题解析】 表4.2 列出了Java 语言中的类、方法、成员变量和局部变量可以使用的各种修饰符。

Java语言定义了public、protected、private、abstract、和final这6个常用修饰符词外,还定义了4个不太常用的修饰符,下面是对这10个java修饰符的介绍。

1、pubic

使用对象: 类、接口、成员。

介绍:无论所属的包定义在哪,该类(接口、成员)都是可访问的。

2、private

使用对象: 成员。

介绍: 成员只可以在定义它的类中被访问。

3、static

使用对象: 类、方法、变量、初始化函数。

介绍:static修辞的内部类是一个项级类,它和类包含的成员是不相关的。静态方法是类方法,被指向到所属的类面不是类的实例。静态变量是类变量,无论该变量所在的类创建了多少实例,该变量只存在一个实例被指向到所属的类而不是类的实例。初始化函数是

在装载类时执行的,面不是在创建实例时执行的。

4、final

使用对象:类、方法、变量。

介绍:被定又成final的类不允许出现子类,不能被覆盖(不应用于动态查询),变量值不允许被修改。

5、abstract

使用对象:类、接口、方法。

介绍:abstract类中包括没有实现的方法。不能被实例化。abstract 方法的方法体为空

该方法的实现在子类中被定义,并且包含一个abstract方法的类必须是一个abstact类。

6、protected

使用对象: 成员

介绍:protected 成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个

方法的类必须是该成员所属类的子类。

7、native

使用对象: 成员。

介绍: 与操作平台相关,定义时并不定义其方法,方法被个外部的库实现。

8、synchronized

使用对象: 方法。

介绍: 对于一个静态的方法,在执行之前JVM把它所在的类锁定;对于一个非静态类

的方法,执行前把某个特定对象实例锁定。

9、volatile

使用对象:变量。

介绍:因为异步线程可以访问变量,所以有些优化操作是一定不能作用在变量上的。

volatile有时可以代替synchronized.

10、transient

使用对象: 变量。

介绍。变量不是对象持久状态的一部分,不应该把变量和对象一起串起,

【题目解析】

从前面的介绍不难看出该面试题中,(2) 处是不能通过编译的。因为public 修饰符

只能用于修饰类、方法和成员变量,并不能修饰局部变量

参考答案(c)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档