java在创建对象时必须_Java基础测试题

一、选择题

1.下面哪些是合法的变量名? ( DEG  )

A.2variable

B. .variable2

C. ._whatavariable

D._3_

E.$anothervar

F.#myvar

G. $_¥

2.请问 “abcd” instanceof Object返回的值是? (  B   )

A. “abcd”  B. true  C. false  D. String

3.下面有关方法覆盖说法不正确的是:( B  )

A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值

B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;

C. 覆盖的方法不能比被覆盖的方法抛出更多的异常

D. 覆盖的方法一定不能是private的

4. 下面代码段中:(  A )

String String=”String”;

System.out.println(String);

A. String  B. 不知道  C. 编译出错 D. 运行出错

5. 下面哪种是正确的创建Map集合的方式:(  D )

A. Map m=new Map();

B. Map m=new Map(init capacity, increment capacity);

C. Map m=new Map(new Collection());

D. Map是接口,所以不能实例化。

6.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是? ( A  )

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B. 可以被两种类访问和引用:该类本身、该类的所有子类

C. 只能被该类自身所访问和修改

D.只能被同一个包中的类访问

7.下列有关继承的说法。正确的是:(B   )

A. 子类能继承父类的所有方法和属性;

B. 子类能继承父类的非私有方法和属性

C. 子类只能继承父类public方法和属性

D. 子类能继承父类的方法,而不是属性。

8.对于构造方法,下列叙述正确的是:(AC   )

A. 构造方法的方法名必须与类名相同;

B. 构造方法必须用void申明返回类型

C. 构造方法可以被程序调用

D. 若编程人员没再类中定义构造方法,程序将报错。

9.下面是有关子类继承父类构造函数的描述,其中正确的是:(CD   )

A. 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。

B. 子类可以不调用父类的构造函数

C. 子类必须通过super()关键字调用父类的构造函数

D. 子类无法继承父类的构造函数。

10. 下列说法中,正确的是:( A  )

A. 类是变量和方法的集合体

B. 数组是无序数据的集合

C. 抽象类可以实例化

D. 类成员数据必须是公有的

11.在创建对象时必须(  C )

A) 先声明对象,然后才能使用对象

B) 先声明对象,为对象分配内存空间,然后才能使用对象

C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象

D) 上述说法都对

12. Java中(  C )

A) 一个子类可以有多个父类,一个父类也可以有多个子类

B) 一个子类可以有多个父类,但一个父类只可以有一个子类

C) 一个子类可以有一个父类,但一个父类可以有多个子类

D) 上述说法都不对

13.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B   )

A) 安全性            B) 多线(程)性            C) 跨平台            D) 可移植

14. Character流与Byte流的区别是( C  )

A) 每次读入的字节数不同      B) 前者带有缓冲,后者没有

C) 前者是字符读写,后者是字节读写   D) 二者没有区别,可以互换使用

15.关于以下application的说明,正确的是(    C       )

1.  class   StaticStuff

2. {

3.                  static  int  x=10;

4.                  static  { x+=5;}

5.                  public  static  void  main(String  args[ ])

6.                  {

7.                       System.out.println(“x=” + x);

8.                  }

9.                  static  { x/=3;}

10.   }

A、4行与9行不能通过编译,因为缺少方法名和返回类型

B、9行不能通过编译,因为只能有一个静态初始化器

C、编译通过,执行结果为:x=5

D、编译通过,执行结果为:x=3

16.关于以下程序代码的说明正确的是(     D   )

1.class  HasStatic{

2.    private  static  int  x=100;

3.    public  static  void  main(String  args[  ]){

4.        HasStatic  hs1=new  HasStatic(  );

5.        hs1.x++;

6.        HasStatic  hs2=new  HasStatic(  );

7.        hs2.x++;

8.        hs1=new  HasStatic( );

9.        hs1.x++;

10.       HasStatic.x- -;

11.       System.out.println(“x=”+x);

12.    }

13. }

A、 5行不能通过编译,因为引用了私有静态变量

B、 10行不能通过编译,因为x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值