java面试题(4)

31)

  class Super{

       protected float getNum(){return 3.0f;}

   }

 

  public class Sub extends Super{

       //Here

  }

下面哪些代码可放在Here处(多选)

 

 

 

 

a)

float getNum(){return 4.0f;}

 

b)

public void getNum(){}

 

c)

private void getNum(double d){}

 

d)

public double Getnum(){return 4.0d;}

 

e)

public float getNum(){return 9;}



CDE 方法的重写以及自定义方法

方法的重写

1.在子类中可以根据需要对从基类中继承来的方法进行重写
2.重写方法必须和被重写方法具有相同方法名称,参数列表,返回类型

3.重写方法不能使用比被重写方法更严格的访问权限


2)

在Java语言中,如果你编写一个多线程序,可以使用的方法是()。(多选)

 

 

 

 

a)

扩展类Thread

 

b)

实现Runnable接口

 

c)

扩展类Runnable

 

d)

实现接口Thread



AB



3)

下面哪些接口直接继承自Collection接口()(多选)

 

 

 

 

a)

List

 

b)

Map

 

c)

Set

 

d)

Iterator



AC



4)

关于HashMap和Hashtable正确的说法有()(多选)

 

 

 

 

a)

都实现了Map接口

 

b)

Hashtable类不是同步的,而HashMap类是同步的

 

c)

Hashtable 不允许null键或值

 

d)

HashMap 不允许null键或值



AC

HashMap 是Hashtable 的轻量级实现(非线程安全的实现),他们都完成了Map 接口.

Hashtable和HashMap的不同之处:
1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。
3.hashMap允许空键值,而hashTable不允许


5)

下面关于构造方法的说法正确的是()(多选)

 

 

 

 

a)

构造方法不能被继承

 

b)

构造方法不能被重写

 

c)

构造方法不能被重载

 

d)

构造方法不能声明为private


AB
 
 
 

6)

研究下面的JAVA代码( )(单选)

 

 

public class TestException {

 

       /**

        * @param args

        */

       public static void main(String[] args) {

              int a[] = {0,1,2,3,4};

        int sum=0;

        try

        {

               for(int i=0;i<6;i++)

               {

                      sum+=a[i];

               }

               System.out.println("sum="+sum);

        }

        catch(java.lang.ArrayIndexOutOfBoundsException e)

        {

               System.out.println("数组下标越界");

        }

        finally

        {

               System.out.println("程序结束");

        }

       }

 

}

输出结果将是()

 

a)

10 数组下标越界 程序结束

 

b)

10 程序结束

 

c)

数组下标越界 程序结束

 

d)

程序结束

C


捕获异常  程序结束


7)

研究下面JAVA代码

public class TestException {

       public static void main(String[] args) {

              try

              {

                     System.out.println("hello,jr");

                     System.exit(0);

              }

              finally

              {

                     System.out.println("88");

              }

       }

 

}

输出结果为()(单选)

 

 

 

 

a)

hello,jr

 

b)

88

 

c)

hello,jr后是88

 

d)

不能编译



A



8)

考虑下面的代码

public   class  ConstOver{

       public  ConstOver(int  x,int  y,int  z){}

}

说出哪些重载了ConstOver构造器?(多选)

 

 

 

 

a)

ConstOver(){}

 

b)

protected  int  ConstOver(){}

 

c)

private  ConstOver(int  z,int  y,byte  z){}

 

d)

public  void  ConstOver(byte  x,byte  y,byte  z){}

 

e)

public  Object  ConstOver(int  x,int  y,int  z){}


AC  构造器的组成



9)

有以下代码:

 

 

package com;

public class Test {

       public static void main(String[] args) {

              Test test = new Test();

              //here

       }            

}

 

在here处加上以下什么语句,可以获得Class对象?(多选)

 

a)

Class  c  =  new Class();

 

b)

Class  c  =  test.class;

 

c)

Class  c  =  Test.class;

 

d)

Class  c  =  test.getClass();

 

e)

Class  c  =  Class.forName(“com.Test”);

 

f)

Class  c  =  Class.forName(“Test”);



CDE

用到了反射

10)

能用来修饰interface方法的有( )(多选)

 

 

 

 

a)

private

 

b)

public

 

c)

protected

 

d)

static

 

e)

不加修饰符




BE 接口的定义


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值