下面定义接口Com,接口的实现类ImpCom,阅读代码,描述正确的是() interface Com{ int M=200; int f(); } class ImpCom implements Com{ int M=10; public int f(){ return M+10; } } public class Test { public static void main(String[] args) { ImpCom im=new ImpCom(); System.out.println(im.f()); System.out.println(Com.M); } } 选择一项或多项: a. 在实现类ImpCom中,拥有接口继承的常量M和新定义的M,方法f中M是新定义的M。继承的常量M被隐藏,但是不能通过super来访问。 b. 运行Test类后,输出结果为: 20 200 c. 在实现类中对接口中的常量访问可以用super.M或者Com.M d. 实现类ImpCom中重写f方法,访问控制可以为public 或者友元
时间: 2023-12-06 17:40:15 浏览: 251
net 接口实现,接口定义,接口和类,接口,类
正确选项为a、b、c。解析如下:
a. 在实现类ImpCom中,拥有接口继承的常量M和新定义的M,方法f中M是新定义的M。继承的常量M被隐藏,但是不能通过super来访问。
在实现类ImpCom中,定义了一个和接口Com中常量M同名的变量M,因此实现类ImpCom中同时存在两个变量M,这个新的变量M会隐藏接口中继承的常量M,但是不能通过super来访问。
b. 运行Test类后,输出结果为: 20 200
实现类ImpCom中的方法f中返回的是变量M+10,而ImpCom中的变量M的值为10,因此f方法返回值为20。接口Com中的常量M值为200,因此输出结果为20 200。
c. 在实现类中对接口中的常量访问可以用super.M或者Com.M
实现类中可以通过接口名或者super关键字来访问接口中的常量,即Com.M或者super.M。
d. 实现类ImpCom中重写f方法,访问控制可以为public 或者友元
接口中的方法默认为public,因此实现类ImpCom中重写的方法f访问控制只能为public。而Java中没有C++中的友元概念,因此选项d不正确。
阅读全文