Java程序员经典面试题集大全(二十四)

116、下列语句那一个正确()

A、java程序经编译后会产生machine code

B、java程序经编译后会产生 byte code

C、java程序经编译后会产生DLL

D、以上都不正确

答案:B

分析:java程序编译后会生成字节码文件,就是.class文件

117、下列说法正确的有()

A、class中的constructor不可省略

B、constructor必须与class同名,但方法不能与class同名

C、constructor在一个对象被new时执行

D、一个class只能定义一个constructor

答案:C

118、下列哪一种叙述是正确的()

A、abstract修饰符可修饰字段、方法和类

B、抽象方法的body部分必须用一对大括号{}包住

C、声明抽象方法,大括号可有可无

D、声明抽象方法不可写出大括号

答案:D

分析: abstract不能修饰字段。既然是抽象方法,当然是没有实现的方法,根本就没有body部分。

119、下列语句正确的是()

A、形式参数可被视为local variable

B、形式参数可被字段修饰符修饰

C、形式参数为方法被调用时,真正被传递的参数

D、形式参数不可以是对象

答案:A

分析:

  • A:形式参数可被视为local variable。形参和局部变量一样都不能离开方法。都只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见。
  • B:对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误。但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改。 不过一般情况下,一个方法的形参不用final修饰。只有在特殊情况下,那就是:方法内部类。 一个方法内的内部类如果使用了这个方法的参数或者局部变量的话,这个参数或局部变量应该是final。 
  • C:形参的值在调用时根据调用者更改,实参则用自身的值更改形参的值(指针、引用皆在此列),也就是说真正被传递的是实参。
  • D:方法的参数列表指定要传递给方法什么样的信息,采用的都是对象的形式。因此,在参数列表中必须指定每个所传递对象的类型及名字。想JAVA中任何传递对象的场合一样,这里传递的实际上也是引用,并且引用的类型必须正确。--《Thinking in JAVA》

120、成员变量用static修饰和不用static修饰有什么区别?

1、两个变量的生命周期不同。

成员变量随着对象的创建而存在,随着对象的被回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同。

成员变量只能被对象调用。

类名调用 :Person.country

3、别名不同。

成员变量也称为实例变量。

静态变量称为类变量。 

4、数据存储位置不同。

成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。


Java零基础全套教程(含面试题+资料)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值