Java继承题解析

一、题目分享

下面ABCDE中那些函数可以存在于Demo的子类中?

class Demo{
	int show(int a,int b){
		return 0;
	}
}

A.public int show(int a,int b){return 0;}
B.private int show(int a,int b){return 0;}
C.private int show(int a,long b){return 0;}
D.public short show(int a,int b){return 0;}
E.static int show(int a,int b){return 0;}

二、解题思路

方法重写的概念:
子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样,返回类型可以不一样,但是必须是父类返回类型的子类)。

由于方法重写的子类方法访问权限不能比父类方法访问权限更低(public > protected > default(默认) > private),Demo的权限修饰为default,所以Demo的子类中函数不能用private,B排除,A可以。

由于C的参数类型与Demo中不同,不属于方法重写,属于新方法,也可以存在。

虽然D的返回值类型和Demo不同,但返回类型short和int同级,不是int的子类,不构成方法重写,也不构成方法重载,所以不能存在于Demo的子类中。

而E被static静态修饰,只能访问静态成员方法,Demo是非静态的,所以也无法存在于Demo的子类中。

三、正确答案

该题的正确答案为:A、C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值