面试题2(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)

本文分享自微信公众号 - java学习(javaxxf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Micro_awake web

JavaScript(五):函数(闭包,eval)

1.函数的申明:三种方法: function命令 函数表达式:变量赋值 Function构造函数 1 //method 1: function命令 2 fu...

269100
来自专栏null的专栏

挑战数据结构与算法面试题——统计上排数在下排出现的次数

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 ? 分析: 本题应该是一个确定的问题,即上排的是个数是题目中给定的...

33960
来自专栏深度学习思考者

一文搞懂C/C++中指针那些事(上篇)

一 指针变量 1.间接存取        指针变量的值为地址;普通变量的值为数据;其中“*”为指针运算符。&是地址操作符,用来引用一个内存地址。通过在变量名...

230100
来自专栏mukekeheart的iOS之旅

OC学习2——C语言特性之函数

1、OC是在C语言的基础上进行扩展的,在OC中直接用C语言进行coding也是可以通过编译的。因此,函数定义的语法格式如下: 函数返回值类型 函数名(形参列表...

34970
来自专栏西安-晁州

js数组去重

对于如下对象数组 [{id: 0, name: "name1"}, {id: 1, name: "name2"},{id: 1, name: "name2"},...

33900
来自专栏Python

python ——面向对象进阶

1.staticmethod和classmethod staticmethod  静态方法: 让类里的方法,直接被类调用,就像正常的函数一样 宝宝,男 博博,女...

22470
来自专栏和蔼的张星的图像处理专栏

50. 数组剔除元素后的乘积两个遍历

给定一个整数数组A。 定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。...

13340
来自专栏java工会

Java基础第一阶段知识点,招实习的面试官都在问这些

a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚

14310
来自专栏java学习

面试题54(考察求职者对重载与重写的掌握)

(不定项选择题)4、A,B,C,D 中哪些是 setVar的重载? public class methodover { public void setVa...

35640
来自专栏java工会

Java基础第一阶段知识点,招实习的面试官都在问这些

23890

扫码关注云+社区

领取腾讯云代金券