牛客 · 错题集锦 (三)

写在左上角的:十题一集合,温故以知新

牛客 · 错题集锦 (三) 

1、java中提供了哪两种用于多态的机制?

A、通过子类对父类抽象方法的覆盖实现多态。

B、利用重载来实现多态,即在同一类中定义多个同名的不同方法来实现多态。

C、利用覆盖来实现多态,即在同一个类中定义多个同名的不同方法来实现多态。

D、通过子类对父类抽象方法的重载实现多态。

(解析一下:

        Java通过方法重写和方法重载实现多态

        方法重写是指子类重写了父类的同名方法

        方法重载是指在同一类中,方法的名字相通,但是参数列表不同

2、Java类Demo中存在方法func0、func1、func2、func3和func4,请求该方法中,哪些是不合法的定义?

public class Demo{
	float func0(){
		byte i = 1;
		return i;
	}
	float func1(){
		int i = 1;
		return;
	}
	float func2(){
		short i = 2;
		return i;
	}
	float func3(){
		long i = 3;
		return i;
	}
	float func4(){
		double i = 4;
		return i;
	}
}

A、func1

B、func2

C、func3

D、func4

(解析一下:

        java自动类型转换:byte,short,char -> int -> long -> float -> double

3、关于Java堆,下面说法错误的是()

A、所有类的实例和数组都是在堆上分配内存的

B、对象所占的对内存是由自动内存管理系统回收

C、堆内存由存活和死亡的对象、空闲碎片区组成

D、数组是分配在栈中(解析一下:对象存储在堆中,数组是一种对象

4、下面代码运行结果是()

public class Test{
	public int add(int a, int b){
		try{
			return a+b;
		} catch(Exception e) {
			System.out.println("catch块");
		} finally {
			System.out.prinln("finally块");
		}
		return 0;
	}

	public static void main(String args[]){
		Test test = new Test();
		System.out.println("和是"+test.add(9,34));
	}
}

A、catch块 和是43

B、编译异常

C、finally块 和是43

D、和是43 finally块

(解析一下:

        1、finally{}代码块比return先执行

        2、多个retrun是按顺序执行的,多个return执行了一个后,后面的return就不会执行了

        3、无论有无异常抛出,finally都会在return返回前执行

5、下面哪些情况下需要使用抽象类?

A、当一个类的一个或多个方法是抽象方法时

B、当类是一个抽象类的子类,并且不能为任何抽象对象提供任何实现细节或方法体时

C、当 一个类实现多个接口时

D、当一个类实现一个接口,并且不能为任何抽象方法提供实现细节或方法体时

6、java中关于继承的描述正确的是()

A、一个子类只能继承一个父类

B、子类可以继承父类的构造方法(解析一下:方法没有继承一说,只有重载和重写

C、继承具有传递性

D、父类一般具有通用性,子类更具体

7、关于中间件特点的描述不正确的是()

A、中间件运行于客户机/服务器的操作系统内核中,提高内核运行效率

B、中间件应支持标准的协议和接口

C、中间件可运行与多种硬件和操作系统平台尚

D、跨越网络、硬件、操作系统平台的应用或服务可以通过中间件透明交互

        什么是中间件?

        中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使他们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。

8、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果

public class Inc{
	public static void main(String[] args){
		Inc inc = new Inc();
		int i = 0;
		inc.fermin(i);
		i = i ++;
		System.out.println(i);
	}
	void fermin(int i){
		i ++;
	}
}

A、0

B、1

C、2

D、3

9、以下关于Java语言异常处理描述正确的有?

A、throw关键字可以在方法上声明该方法要抛出的异常

B、throws用于抛出异常对象

C、try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句

D、finally语句块是不管有没有出现异常都要执行的内容

E、在try块中不可以抛出异常

10、有关线程的描述正确的是()

A、可以获得对任何对象的互斥锁定

B、通过继承Thread类或实现Runnable接口,可以获得对类中方法的互斥锁定

C、线程通过调用对象的synchronized方法可获得对象的互斥锁定

D、线程调度算法是平台独立的(线程调度算法参考:牛客 · 错题集锦 (一)第9题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值