计算机专业技能-Java专项练习(4)

1、不考虑反射机制,一个子类显式调用父类的构造器必须用super关键字。
A、正确
B、错误
答案:A
解析:题目中说的是子类显示调用父类中的构造方法必须使用super关键字;如果子类没有显示调用父类中的构造方法,则系统默认会调用父类中的无参构造方法;若此时父类中没有定义无参构造方法则会报错。

2、若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于()
A、本地方法
B、最终方法
C、解态方法
D、抽象方法
答案:D
解析:本地方法:简单地讲,一个native Method就是一个java调用非java代码的接口;native方法表示该方法要用另外一种依赖平台的编程语言实现。
最终方法:final void B(){},这样定义的方法就是最终方法,最终方法在子类中不可以被重写,也就是说,如果有个子类继承了这个最终方法所在的类,那么这个子类中不能出现void B(){}这样的方法。
最终类:final class A {},这样定义的类就是最终类,最终类不能被继承。
abstract修饰抽象类。

3、以下关于继承的叙述正确的是()
A、在Java中类只允许单一继承
B、在Java中一个类不能同时继承一个类和实现一个接口
C、在Java中接口只允许单一继承
D、在Java中一个类只能实现一个接口
答案:A
解析:1、接口可以继承接口,而且可以继承多个接口,但是不能实现接口,因为接口中的方法全部是抽象的,无法实现;另外,如果是Java 7以及以前的版本,那么接口中可以包含的内容有:1. 常量;2. 抽象方法
如果是Java 8,还可以额外包含有:3. 默认方法;4. 静态方法
如果是Java 9,还可以额外包含有:5. 私有方法
2、普通类可以实现接口,并且可以实现多个接口,但是只能继承一个类,这个类可以是抽象类也可以是普通类,如果继承抽象类,必须实现抽象类中的所有抽象方法,否则这个普通类必须设置为抽象类;
3、抽象类可以实现接口,可以继承具体类,可以继承抽象类,也可以继承有构造器的实体类。抽象类中可以有静态main方法;抽象类里可以没有抽象方法,没有抽象方法的抽象类就是不想让别人实例化它;另外,抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。在继承了抽象类的子类中通过super(参数列表)调用抽象类中的构造方法,可以用于实例化抽象类的字段。

4、为AB类的一个无形式参数无返回值的方法method书写方法头,可以用AB.method()方式调用,该方法头的形式为( )。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
答案:A
解析:什么是静态方法:用static修饰的方法
静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。
静态方法的使用:
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。
只有调用静态方法时可以无需创建对象。

5、下面程序的输出是:()

String x="fmn";
x.toUpperCase();
String y=x.replace('f','F');
y=y+"wxy";
System.out.println(y);

A、FmNwxy
B、fmnwxy
C、wxyfmn
D、Fmnwxy
答案:D
解析:String x=“fmn”; “fmn”是在常量池里的不可变对象。
x.toUpperCase(); 在堆中new一个"FMN"对象,但无任何引用指向它。
String y=x.replace(‘f’,‘F’); 在堆中 new一个"Fmn"对象,y指向它。
y=y+“wxy”; 在堆中 重新new一个"Fmnwxy"对象, 修改y指向,现在y指向它。

6、关于String、StringBuffer、StringBuilder以下说法错误的是
A、StringBuilder运行速度最快
B、StringBuffer是线程安全的
C、String的值是可变的
D、StringBuffer运行速度比String快
答案:C
解析:
String是final修饰的,不可变。
运行速度:StringBuilder>StringBuffer>String
StringBuffer是线程安全的。

7、一个以". java"为后缀的源文件,哪些说法是正确的?
A、只能包含一个类,类名必须与文件名相同
B、只能包含与文件名相同的类,以及其中的内部类
C、只能有一个与文件名相同的类,可以包含其他类
D、可以包含任意类
答案:C
解析:一个java文件可以包含多个java类,但是只能包含一个public类,并且public类的类名必须与java文件名相同。

8、如下语句通过算术运算和逻辑运算之后i和 j的结果是( )

int i=0;
int j=0;
if((++i>0)||(++j>0))
{
   
//打印出i和j的值。
}

A、i=0;j=0
B、i=1;j=1
C、i=0;j=1
D、i=1;j=0
答案:D
解析:&& 和 || 分别为短路与 短路或 &&若前面的表达式为false,整个逻辑表达式为false,所以后面的表达式无论true和false都无法影响整个表达式的逻辑结果,所以为了提高代码执行速率,这里后面的表达式就不会执行。同理,若前面表达式为true,则后面的表达式无需计算。
& 和 | 分别为不短路与 不短路或 无论什么情况,前面的和后面的都要执行。

9、关于如下程序的描述哪个是正确的?( )

public class Person{
   
static int arr[] = new int[5];
public static void main(String a[
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值