Java 小题 2

Java 小题 2

  1. 下列对接口的说法,正确的是( )

A. 接口与抽象类是相同的概念

B. 若要实现一个接口为普通类则必须实现接口的所有抽象方法

C. 接口之间不能有继承关系

D. 一个类只能实现一个接口

正确答案:B

  1. 以下代码将打印出

public static void main(String args[]) {
      List  Listlist1 = new ArrayList();
      Listlist1.add(0);
      List Listlist2 = Listlist1;
      System.out.println(Listlist1.get(0) instanceof Integer);
      System.out.println(Listlist2.get(0) instanceof Integer);
}

A. 编译错误

B. true true

C. true false

D. false false

正确答案:B

官方解析:

JDK5之后提供的自动拆箱和自动装箱实现了将基本数据类型存入collection类型的集合(ArrayList,LinkedList)。例如题目中向ArrayList存入了基本类型0,int类型会自动装箱变为Integer类型存入集合中,使编译正常通过。

将list1的引用赋值给了list2,那么list1和list2都将指向同一个堆内存空间。instanceof关键字在Java中用于判断一个对象是否属于某个特定类的实例,并且返回boolean类型的返回值。显然,list1.get(0)和list2.get(0)都属于Integer的实例。答案选择B。

  1. 下列整型常量 i 的定义中,正确的是( )

A. final i;

B. static int i;

C. static final int i=234;

D. final float i=3.14f;

正确答案:C

参考答案:C java中final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。int关键字修饰整型类型。static修饰静态变量,即当利用这个关键字来修饰一个变量的时候,在创建对象之前就会为这个变量在内存中创建一个存储空间。以后创建对对象如果需要用到这个静态变量,那么就会共享这一个变量的存储空间。 A:缺少必要的整型类型声明 B:缺少常量关键字final D:定义一个浮点常量

  1. 下面字段声明中哪一个在interface主体内是合法的? ()

A. private final static int answer = 42;

B. public static int answer = 42;

C. final static answer = 42;

D. int answer;

正确答案:B

接口中的属性在不提供修饰符修饰的情况下,会自动加上public static final

注意(在1.8的编译器下可试):

(1)属性不能用private,protected,default 修饰,因为默认是public

(2)如果属性是基本数据类型,需要赋初始值,若是引用类型,也需要初始化,因为默认有final修饰,必须赋初始值;

(3)接口中常规的来说不能够定义方法体,所以无法通过get和set方法获取属性值,所以属性不属于对象,属于类(接口),因为默认使用static修饰。

大家好,我是xwhking,一名技术爱好者,目前正在全力学习 Java,前端也会一点,如果你有任何疑问请你评论,或者可以加我QQ(2837468248)说明来意!希望能够与你共同进步

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xwhking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值